SQL Server Table Structure : สอน คำสั่ง ของ Table Structure, เรียน คำสั่ง ของ Table Structure
 

Reference

Reference ในเว็บไซต์ Function.in.th เป็นการนำเสนอความรู้ในรูปแบบของแหล่งอ้างอิงของคำสั่งต่าง ๆ ที่ใช้ในการเขียนโปรแกรม โดยผู้ที่สนใจสามารถเข้ามาเรียนรู้การใช้งานคำสั่งของการเขียนโปรแกรมเหล่านี้ได้ ผ่านทาง URL code.function.in.th ทั้งนี้ผู้อ่านยังสามารถร่วมแสดงความคิดเห็นบนเนื้อหาที่มีสอนได้ ซึ่งถือเป็นการส่งเสริมให้มีการแลกเปลี่ยนประสบการณ์และความรู้ระหว่างผู้อ่านด้วยกันเอง
  • CREATE TABLE เป็นคำสั่งที่ใช้ในการสร้างตาราง
    ALTER TABLE ALTER COLUMN ใช้ในการเปลี่ยนแปลงรายละเอียดของ field ใน table
    ALTER TABLE ALGER COLUMN ROWGUIDCOL ใช้ในการ กำหนด หรือ ยกเลิก การใช้ ROWGUIDCOL ของ column ที่กำหนด
    ALTER TABLE ADD column ใช้เพิ่ม column เข้าไปใน table ที่กำหนด
    ALTER TABLE ADD computed_column ใช้เพิ่ม column แบบ computed column expression เข้าไปใน table ที่กำหนด
    ALTER TABLE DROP COLUMN ใช้ในการ ลบ column ที่กำหนด ออกจาก table
    DROP TABLE ใช้ในการ drop table ที่กำหนด ออกจาก database
    ALTER TABLE ADD CONSTRAINT ใช้ในการเพิ่ม CONSTRAINT เข้าไปใน table ที่กำหนด
    ALTER TABLE DROP CONSTRAINT ใช้ในการ drop constraint ออกจาก table ที่กำหนด
    ALTER TABLE NOCHECK CONSTRAINT ใช้กำหนด หยุด การใช้งาน constraint ที่กำหนด
    ALTER TABLE CHECK CONSTRAINT ใช้กำหนด มีการใช้งาน constraint ที่กำหนด หลังจากที่ มีการ หยุดการใช้งาน ไป
    ALTER TABLE { ENABLE | DISABLE } TRIGGERS ใช้สั่งให้มีการ enable หรือ disable triggers
    SET IDENTITY_INSERT ใช้กำหนดว่าจะให้คำสั่ง IDENTITY มีผลหรือไม่
  • subject :
    CREATE TABLE

    syntax :
    CREATE TABLE database_name.owner_name.tbl_name
    (
    	column_name datatype [ IDENTITY | CONSTRAINT | NULL | NOT NULL ]
    	| column_name AS computed_column_expression
    )
    [ ON { filegroup | DEFAULT } ]

    content :
    ใช้ในการสร้าง table
    โดย computed_column_expression คือ column ที่เกิดจากการคำนวณของ column อื่น
    โดย computed_column_expression มีข้อจำกัด ดังนี้
    1) column ที่นำมาคำนวณต้องเป็น column จาก table เดียวกัน
    2) column นี้จะเป็น INDEX, Primary Key, Foreign Key ไม่ได้
    3) ไม่สามารถกำหนด DEFAULT ของข้อมูลได้
    4) ไม่สามารถเปลี่ยนแปลงข้อมูลโดยจะ INSERT หรือ UPDATE ได้

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL,
    	price_net AS ( price * ( 100 - discount ) ) / 100
    )
    ON CustomerGroup

  • subject :
    ALTER TABLE ALTER COLUMN

    syntax :
    ALTER TABLE tbl_name
    ALTER COLUMN column_name new_data_type
    [ COLLATE <collation_name> ]
    [ NULL | NOT NULL ]

    content :
    ใช้ในการเปลี่ยนแปลงรายละเอียดของ field ใน table

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	sex bit NOT NULL
    )
    ALTER TABLE tbl_person
    ALTER COLUMN sex smallint(1)

  • subject :
    ALTER TABLE ALGER COLUMN ROWGUIDCOL

    syntax :
    ALTER TABLE tbl_name
    ALTER COLUMN column_name
    { ADD | DROP } ROWGUIDCOL

    content :
    ใช้ในการ กำหนด หรือ ยกเลิก การใช้ ROWGUIDCOL ของ column ที่กำหนด

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	sex bit NOT NULL
    )
    ALTER TABLE tbl_person
    ALTER COLUMN sex
    ADD ROWGUIDCOL

  • subject :
    ALTER TABLE ADD column

    syntax :
    ALTER TABLE tbl_name
    ADD <column_definition>

    content :
    ใช้เพิ่ม column เข้าไปใน table ที่กำหนด

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	sex bit NOT NULL
    )
    ALTER TABLE tbl_person
    ADD address varchar(200)

  • subject :
    ALTER TABLE ADD computed_column

    syntax :
    ALTER TABLE tbl_name
    ADD column_name AS computed_column_expression

    content :
    ใช้เพิ่ม column แบบ computed column expression เข้าไปใน table ที่กำหนด

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL
    )
    ALTER TABLE tbl_orders
    ADD price_net ( price * ( 100 - discount ) ) / 100

  • subject :
    ALTER TABLE DROP COLUMN

    syntax :
    ALTER TABLE tbl_name
    DROP COLUMN column_name

    content :
    ใช้ในการ ลบ column ที่กำหนด ออกจาก table

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL
    )
    ALTER TABLE tbl_orders
    DROP COLUMN discount

  • subject :
    DROP TABLE

    syntax :
    DROP TABLE tbl_name

    content :
    ใช้ในการ drop table ที่กำหนด ออกจาก database

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL,
    
    	CONSTRAINT tbl_orders_pk PRIMARY KEY (id),
    )
    DROP TABLE tbl_orders

  • subject :
    ALTER TABLE ADD CONSTRAINT

    syntax :
    ALTER TABLE tbl_name
    WITH NOCHECK
    ADD CONSTRAINT ....

    content :
    ใช้ในการเพิ่ม CONSTRAINT เข้าไปใน table ที่กำหนด
    คำสั่ง WITH NOCHECK เพื่อกำหนดให้ ข้อมูลที่มีอยู่ในตารางอยู่แล้ว จะไม่ถูกตรวจสอบเงื่อนไข
    ตาม constraint ที่กำลังจะเพื่อเข้าไป

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	amount int NOT NULL
    )
    ALTER TABLE tbl_orders
    WITH NOCHECK
    ADD CONSTRAINT chk_amount CHECK ( amount > 0 )
    FOR amount

  • subject :
    ALTER TABLE DROP CONSTRAINT

    syntax :
    ALTER TABLE tbl_name
    DROP CONSTRAINT constraint_name

    content :
    ใช้ในการ drop constraint ออกจาก table ที่กำหนด

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL,
    
    	CONSTRAINT tbl_orders_pk PRIMARY KEY (id),
    )
    ALTER TABLE tbl_orders
    DROP CONSTRAINT tbl_orders_pk

  • subject :
    ALTER TABLE NOCHECK CONSTRAINT

    syntax :
    ALTER TABLE tbl_name
    NOCHECK CONSTRAINT { ALL | constraint_name }

    content :
    ใช้กำหนด หยุด การใช้งาน constraint ที่กำหนด

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL,
    
    	CONSTRAINT tbl_orders_pk PRIMARY KEY (id),
    	CONSTRAINT chk_amount CHECK ( price > 0 )
    )
    ALTER TABLE tbl_orders
    NOCHECK CONSTRAINT chk_amount

  • subject :
    ALTER TABLE CHECK CONSTRAINT

    syntax :
    ALTER TABLE tbl_name
    CHECK CONSTRAINT { ALL | constraint_name }

    content :
    ใช้กำหนด มีการใช้งาน constraint ที่กำหนด
    หลังจากที่ มีการ หยุดการใช้งาน ไป

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL,
    
    	CONSTRAINT tbl_orders_pk PRIMARY KEY (id),
    	CONSTRAINT chk_amount CHECK ( price > 0 )
    )
    ALTER TABLE tbl_orders
    NOCHECK CONSTRAINT chk_amount;
    INSERT INTO tbl_orders ( price, discount ) VALUES ( 0, 0 );
    ALTER TABLE tbl_orders
    CHECK CONSTRAINT chk_amount;

  • subject :
    ALTER TABLE { ENABLE | DISABLE } TRIGGERS

    syntax :
    ALTER TABLE table_name
    [ ENABLE | DISABLE ] TRIGGERS { ALL | trigger_name }

    content :
    ใช้สั่งให้มีการ enable หรือ disable triggers 

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    GO
    CREATE TRIGGERS trg_orders
    ON orders
    FOR INSERT, UPDATE
    AS
    	PRINT "Occurs Modify Data In Orders Table."
    GO
    ALTER TABLE tbl_orders
    DISABLE TRIGGERS trg_orders
    GO

  • subject :
    SET IDENTITY_INSERT

    syntax :
    SET IDENTITY_INSERT tbl_name { ON | OFF }
    GO

    content :
    ใช้กำหนดว่าจะให้คำสั่ง IDENTITY มีผลหรือไม่

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL,
    	discount int NOT NULL,
    
    	CONSTRAINT tbl_orders_pk PRIMARY KEY (id),
    )
    SET IDENTITY_INSERT tbl_orders OFF;
    INSERT INTO tbl_orders ( id, price, discount ) VALUES ( "1", 200, 12 );
    INSERT INTO tbl_orders ( id, price, discount ) VALUES ( "2", 500, 25 );
    SET IDENTITY_INSERT tbl_orders ON;
    INSERT INTO tbl_orders ( price, discount ) VALUES ( 200, 12 );
    INSERT INTO tbl_orders ( price, discount ) VALUES ( 500, 25 );

 
Share This Chapter Login with Facebook