MSSQL 為表中的標識列插入顯式值

2022-03-15 09:19:05 字數 849 閱讀 8726

今天來介紹一下set identity_insert

mssql 為表中的標識列插入顯式值

set

identity_insert tb on

;set

identity_insert tb off;

其中:

set

identity_insert tb on;

是開啟表示插入顯示值

set

identity_insert tb off;

是關閉插入顯示值

具體用法來做個簡單的小例子:

1)首先我們來建立乙個關係表:其中id是自動增長字段

create

table tb (id int

identity

primary

key, tb_valuesvarchar(40))

2)然後我們想表中插入一條資料

insert

into tb (id, tb_value) values(2, '

mydata

')

執行結果會報錯:結果會導致錯誤:「當 identity_insert 設定為 off 時,不能向表 'products' 中的標識列插入顯式值。」

3)對上述sql**稍微改動

set

identity_insert tb on

insert

into tb(id, tb_value) values(2, '

mydata')

setidentity_insert tb off

執行成功

將顯式值插入表的標識列中

允許將顯式值插入表的標識列中。set identity insert database name schema name table 任何時候,乙個會話中只有乙個表的 identity insert 屬性可以設定為 on。如果某個表已將此屬性設定為 on,則對另乙個表發出 set identity ...

重置MSSQL的Identity標識列的值

當表中的記錄被全部刪除,但此時標識列的值越來越大的時候,如果不加以重置,它還會無休止的增長。可以用如下語句重置標識列 dbcc checkident table name new reseed value 引數 table name 是要對其當前標識值進行檢查的表名。表名必須符合識別符號規則。有關更...

Oracle中為表設定自動增長的標識列

建立序列 create sequence 序列名稱 start with 1 起始值 increment by 1 增量 maxvalue 99999999 最大值 nocycle 達到最大值後是否重新計算,當前為不重新計算,cycle為重新計算 nocache 不要快取,容易跳號 建立觸發器 cr...