西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁業(yè)內動態(tài) 業(yè)內資訊 → 插入標識列 identity_insert

插入標識列 identity_insert

相關軟件相關文章發(fā)表評論 來源:西西整理時間:2013/5/25 10:48:38字體大。A-A+

作者:西西小熊點擊:23次評論:0次標簽: 標識列

  • 類型:系統(tǒng)其它大小:440KB語言:英文 評分:7.5
  • 標簽:
立即下載

在進行數(shù)據(jù)插入時,如果插入列名包括標識列,常常會遇到以下3種提示:

一、“當 IDENTITY_INSERT 設置為 OFF 時,不能向表 'xxxxxxxx' 中的標識列插入顯式值!

示例:

1.首先建立一個有標識列的表:

CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))

2.嘗試在表中做以下操作:

INSERT INTO products (id, product) VALUES(3, 'garden shovel')

結果會導致錯誤:“當 IDENTITY_INSERT 設置為 OFF 時,不能向表 'products' 中的標識列插入顯式值。”

3.改用:

SET IDENTITY_INSERT products ON

INSERT INTO products (id, product) VALUES(1, 'garden shovel')

返回正確。

二、:“表 'DBName.dbo.TableName1' 的 IDENTITY_INSERT 已經為 ON。無法對表 'TableName2' 執(zhí)行 SET 操作!

4.建立另外一個表products2,嘗試相同插入操作:

CREATE TABLE products2 (id int IDENTITY PRIMARY KEY, product varchar(40))

然后執(zhí)行:

SET IDENTITY_INSERT products2 ON

INSERT INTO products2 (id, product) VALUES(1, 'garden shovel')

導致錯誤:“表 'material.dbo.products' 的 IDENTITY_INSERT 已經為 ON。無法對表 'products2' 執(zhí)行 SET 操作!

改為執(zhí)行:

SET IDENTITY_INSERT products OFF

SET IDENTITY_INSERT products2 ON

INSERT INTO products2 (id, product) VALUES(2, 'garden shovel')

執(zhí)行通過。

三、“僅當使用了列的列表,并且 IDENTITY_INSERT 為 ON 時,才能在表 'TableName' 中為標識列指定顯式值。”

5.嘗試以下操作:

SET IDENTITY_INSERT products2 ON

INSERT INTO products2 SELECT * FROM products

導致錯誤:“僅當使用了列的列表,并且 IDENTITY_INSERT 為 ON 時,才能在表 'products2' 中為標識列指定顯式值!

6.改為:

SET IDENTITY_INSERT products2 ON

INSERT INTO products2 (id, product) SELECT * FROM products

執(zhí)行通過。

總結:

1、要對數(shù)據(jù)表的標識列執(zhí)行插入操作進,先要設置該數(shù)據(jù)表identity_insert為on;同時要列出些標識列(當然,同時也就需要列出相關的其他列了)。

2、每一次連接會話中的任一時刻,只能對一個表設置IDENTITY_INSERT ON,且設置只對當前會話有效

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經過審核才能顯示)