SQL SERVER Query หา Identity Table
8 สิงหาคม พ.ศ. 2559 เจษฏา สุขชาติ สำนักคอมพิวเตอร์ เปิดอ่านแล้ว 4 ครั้ง

         ในการโยกข้อมูลเข้าตารางนั้นบางตารางจะมีการสร้าง Identity แต่เราจำไม่ได้ว่าตารางไหนที่มีการกำหนด Identity ไว้บ้าง เราจะต้องทำการหาตารางที่มีการกำหนด Identity ไว้ก่อนเพื่อสั่งปิดการทำงานของ Identity

ตัวอย่างการเขียนคิวรี่

 

select TABLE_NAME,COLUMN_NAME

from INFORMATION_SCHEMA.COLUMNS

where TABLE_SCHEMA = 'dbo'

and COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1

 

จากตัวอย่างคิวรี่ เราจะได้ชื่อตารางที่มีการกำหนด Identity เอาไว้จากนั้นเราจะทำการโยกข้อมูลเข้าโดยใช้คำสั่ง

 

SET    IDENTITY_INSERT DBNAME.dbo.TABLENAME ON;

INSERT INTO DBNAME.dbo.TABLENAME SELECT * FROM DBNAME.dbo.TABLENAME;

SET    IDENTITY_INSERT DBNAME _DEMO6.dbo. TABLENAME OFF;

 

    ตัวอย่างคิวรี่ด้านบนจะเป็นการโยกข้อมูลเข้าตารางโดยจะสั่งปิด Identity ไว้และทำการนำข้อมูลเข้า จากนั้นจึงสั่งเปิดการทำงานของ Identity