SQL Server Integrity And Constraint : สอน คำสั่ง ของ Integrity And Constraint, เรียน คำสั่ง ของ Integrity And Constraint
 

Reference

Reference ในเว็บไซต์ Function.in.th เป็นการนำเสนอความรู้ในรูปแบบของแหล่งอ้างอิงของคำสั่งต่าง ๆ ที่ใช้ในการเขียนโปรแกรม โดยผู้ที่สนใจสามารถเข้ามาเรียนรู้การใช้งานคำสั่งของการเขียนโปรแกรมเหล่านี้ได้ ผ่านทาง URL code.function.in.th ทั้งนี้ผู้อ่านยังสามารถร่วมแสดงความคิดเห็นบนเนื้อหาที่มีสอนได้ ซึ่งถือเป็นการส่งเสริมให้มีการแลกเปลี่ยนประสบการณ์และความรู้ระหว่างผู้อ่านด้วยกันเอง
  • CREATE DEFAULT ใช้ในการสร้าง default value
    DROP DEFAULT ใช้ในการ drop default value
    IDENTITY ใช้กำหนดให้ column ที่กำหนด เป็นแบบ IDENTITY
    IDENTITYCOL ใช้ในการดูว่า column ที่ชื่อว่าอะไร เป็น IDENTITY อยู่
    CONSTRAINT DEFAULT ใช้ในการกำหนด CONSTRAINT DEFAULT ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    ADD CONSTRAINT DEFAULT ใช้ในการกำหนด CONSTRAINT DEFAULT ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    CONSTRAINT CHECK ใช้ในการกำหนด CONSTRAINT CHECK ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    ADD CONSTRAINT CHECK ใช้ในการกำหนด CONSTRAINT CHECK ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    CONSTRAINT PRIMARY KEY ใช้ในการกำหนด CONSTRAINT PRIMARY KEY ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    ADD CONSTRAINT PRIMARY KEY ใช้ในการกำหนด CONSTRAINT PRIMARY KEY ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    CONSTRAINT UNIQUE ใช้ในการกำหนด CONSTRAINT UNIQUE ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    ADD CONSTRAINT UNIQUE ใช้ในการกำหนด CONSTRAINT UNIQUE ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    CONSTRAINT FOREIGN KEY ใช้ในการกำหนด CONSTRAINT FOREIGH KEY ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    ADD CONSTRAINT FOREIGN KEY ใช้ในการกำหนด CONSTRAINT FOREIGH KEY ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
  • subject :
    CREATE DEFAULT

    syntax :
    CREATE DEFAULT default_name AS "constant_expression"

    content :
    ใช้ในการสร้าง default value

    example :
    CREATE DEFAULT def_www AS "www.function.in.th"

  • subject :
    DROP DEFAULT

    syntax :
    DROP DEFAULT default_name

    content :
    ใช้ในการ drop default value

    example :
    CREATE DEFAULT def_www AS "www.function.in.th"
    DROP DEFAULT def_www

  • subject :
    IDENTITY

    syntax :
    column_name data_type IDENTITY [(seed, increment)]

    content :
    ใช้กำหนดให้ column ที่กำหนด เป็นแบบ IDENTITY
    โดย seed คือ ค่าเริ่มต้นของ column
    โดย increment คือ ค่าที่เพิ่มขึ้นในแต่ละครั้ง
    ( คำสั่ง TRUNCATE TABLE จะทำให้ค่า seed กลับไปเริ่มต้นใหม่เสมอ คือจะเริ่มรับที่ seed ใหม่ )

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )

  • subject :
    IDENTITYCOL

    syntax :
    SELECT IDENTITYCOL FROM tbl_name

    content :
    ใช้ในการดูว่า column ที่ชื่อว่าอะไร เป็น IDENTITY อยู่

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    SELECT IDENTITYCOL FROM tbl_orders

  • subject :
    CONSTRAINT DEFAULT

    syntax :
    CONSTRAINT constraint_name DEFAULT "default_value"

    content :
    ใช้ในการกำหนด CONSTRAINT DEFAULT ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง

    example :
    CREATE TABLE tbl_website
    (
    	id int IDENTITY NOT NULL,
    	name varchar(50) NOT NULL CONSTRAINT df_www DEFAULT "www.function.in.th"
    )

  • subject :
    ADD CONSTRAINT DEFAULT

    syntax :
    ALTER TABLE tbl_name
    ADD CONSTRAINT constraint_name DEFAULT "default_value"
    FOR column_name

    content :
    ใช้ในการกำหนด CONSTRAINT DEFAULT ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง

    example :
    CREATE TABLE tbl_website
    (
    	id int IDENTITY NOT NULL,
    	name varchar(50) NOT NULL
    )
    ALTER TABLE tbl_website
    ADD CONSTRAINT df_www DEFAULT "www.function.in.th"
    FOR name

  • subject :
    CONSTRAINT CHECK

    syntax :
    CONSTRAINT constraint_name CHECK [ NOT FOR REPLICATION ] ( condition_expression )

    content :
    ใช้ในการกำหนด CONSTRAINT CHECK ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	tel varchar(11) NOT NULL CONSTRAINT chk_tel CHECK ( tel LIKE "[0-9][1-9]" )
    )

  • subject :
    ADD CONSTRAINT CHECK

    syntax :
    ALTER TABLE tbl_name
    ADD CONSTRAINT constraint_name CHECK ( condition_expression )
    FOR column_name

    content :
    ใช้ในการกำหนด CONSTRAINT CHECK ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	tel varchar(11) NOT NULL 
    )
    ALTER TABLE tbl_person
    ADD CONSTRAINT chk_tel CHECK ( tel LIKE "[0-9][1-9]" )
    FOR tel

  • subject :
    CONSTRAINT PRIMARY KEY

    syntax :
    CONSTRAINT constraint_name PRIMARY KEY
    [ CLUSTERED | NONCLUSTERED ]
    [ WITH [ FILLFACTOR = fillfactor ] ]
    [ ON { filegroup | DEFAULT } ]

    content :
    ใช้ในการกำหนด CONSTRAINT PRIMARY KEY ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    ( โดยปกติ การสร้าง Primary Key จะทำให้เกิด Unique Indexes แบบ Clustered Indexes ไปโดยปริยาย 
    แต่ถ้าใน Table มี Field ที่เป็นแบบ Clustered Indexes แล้ว ก็สามารถกำหนดให้เป็นแบบ NonClustered Indexes ได้
    เพราะว่า Clustered Indexes สามารถมีได้ field เดียวในแต่ละ Table )

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL CONSTRAINT tbl_person_pk PRIMARY KEY,
    	tel varchar(11) NOT NULL
    )

  • subject :
    ADD CONSTRAINT PRIMARY KEY

    syntax :
    ALTER TABLE tbl_name
    ADD CONSTRAINT tbl_name_pk PRIMARY KEY 
    [ CLUSTERED | NONCLUSTERED ] ( field_name_1, field_name_2, ..., field_name_n )
    [ WITH [ FILLFACTOR = fillfactor ] ]
    [ ON { filegroup | DEFAULT } ]

    content :
    ใช้ในการกำหนด CONSTRAINT PRIMARY KEY ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    ( โดยปกติ การสร้าง Primary Key จะทำให้เกิด Unique Indexes แบบ Clustered Indexes ไปโดยปริยาย 
    แต่ถ้าใน Table มี Field ที่เป็นแบบ Clustered Indexes แล้ว ก็สามารถกำหนดให้เป็นแบบ NonClustered Indexes ได้
    เพราะว่า Clustered Indexes สามารถมีได้ field เดียวในแต่ละ Table )

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	tel varchar(11) NOT NULL
    )
    ALTER TABLE tbl_person
    ADD CONSTRAINT tbl_person_pk PRIMARY KEY ( id )

  • subject :
    CONSTRAINT UNIQUE

    syntax :
    CONSTRAINT constraint_name UNIQUE
    [ CLUSTERED | NONCLUSTERED ]
    [ WITH [ FILLFACTOR = fillfactor ] ]
    [ ON { filegroup | DEFAULT } ]

    content :
    ใช้ในการกำหนด CONSTRAINT UNIQUE ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    โดยแต่ละ Table สามารถมีได้มากกว่า 1 
    และยอมรับค่า Null
    และจะเป็นแบบ Non Clustered Indexes โดยปริยาย

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	serial varchar(13) NOT NULL CONSTRAINT tbl_person_index_serial UNIQUE,
    	tel varchar(11) NOT NULL
    )

  • subject :
    ADD CONSTRAINT UNIQUE

    syntax :
    ALTER TABLE tbl_name
    ADD CONSTRAINT constraint_name UNIQUE 
    [ CLUSTERED | NONCLUSTERED ] ( field_name_1, field_name_2, ..., field_name_n )
    [ WITH [ FILLFACTOR = fillfactor ] ]
    [ ON { filegroup | DEFAULT } ]

    content :
    ใช้ในการกำหนด CONSTRAINT UNIQUE ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    โดยแต่ละ Table สามารถมีได้มากกว่า 1 
    และยอมรับค่า Null
    และจะเป็นแบบ Non Clustered Indexes โดยปริยาย

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	serial varchar(13) NOT NULL,
    	tel varchar(11) NOT NULL
    )
    ALTER TABLE tbl_person
    ADD CONSTRAINT tbl_person_index_serial UNIQUE ( serial )

  • subject :
    CONSTRAINT FOREIGN KEY

    syntax :
    CONSTRAINT constraint_name FOREIGN KEY REFERENCES ref_tbl_name ( ref_column )
    [ ON DELETE { CASCADE | NO ACTION } ]
    [ ON UPDATE { CASCADE | NO ACTION } ]
    [ NOT FOR REPLICATION ]

    content :
    ใช้ในการกำหนด CONSTRAINT FOREIGH KEY ให้กับ column ที่เกิดขึ้นตอนสร้างตาราง
    โดย CASCADE จะหมายถึง หากมีการแก้ไขข้อมูลหรือลบข้อมูลใน column ที่ถูกอ้างอิงอยู่
    แล้ว column ที่อ้างอิง ก็จะเปลี่ยนแปลงตามด้วย

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	serial varchar(13) NOT NULL,
    	tel varchar(11) NOT NULL
    )
    CREATE TABLE tbl_user
    (
    	id int IDENTITY NOT NULL,
    	user varchar(100) NOT NULL,
    	pass varchar(100) NOT NULL,
    	person_id int NOT NULL CONSTRAINT tbl_user_fk_tbl_person FOREIGN KEY REFERENCES tbl_person ( id )
    )

  • subject :
    ADD CONSTRAINT FOREIGN KEY

    syntax :
    ALTER TABLE tbl_name
    ADD CONSTRAINT constraint_name FOREIGN KEY ( field_name_1, field_name_2, ..., field_name_n )
    REFERENCES ref_tbl_name ( ref_column )
    [ ON DELETE { CASCADE | NO ACTION } ]
    [ ON UPDATE { CASCADE | NO ACTION } ]
    [ NOT FOR REPLICATION ]

    content :
    ใช้ในการกำหนด CONSTRAINT FOREIGH KEY ให้กับ column ที่เกิดขึ้นหลังสร้างตาราง
    โดย CASCADE จะหมายถึง หากมีการแก้ไขข้อมูลหรือลบข้อมูลใน column ที่ถูกอ้างอิงอยู่
    แล้ว column ที่อ้างอิง ก็จะเปลี่ยนแปลงตามด้วย

    example :
    CREATE TABLE tbl_person
    (
    	id int IDENTITY NOT NULL,
    	serial varchar(13) NOT NULL,
    	tel varchar(11) NOT NULL
    )
    CREATE TABLE tbl_user
    (
    	id int IDENTITY NOT NULL,
    	user varchar(100) NOT NULL,
    	pass varchar(100) NOT NULL,
    	person_id int NOT NULL
    )
    ALTER TABLE tbl_user
    ADD CONSTRAINT tbl_user_fk_tbl_person FOREIGN KEY ( person_id ) REFERENCES tbl_person ( id )

 
Share This Chapter Login with Facebook