久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

sql IDENTITY_INSERT對標識列的作用和使用

瀏覽:46日期:2023-03-06 14:25:56

一般情況下,當數據表中,莫一列被設置成了標識列之后,是無法向標識列中手動的去插入標識列的顯示值。但是,可以通過設置SET IDENTITY_INSERT屬性來實現對標識列中顯示值的手動插入。

寫法:

1).SET IDENTITY_INSERT 表名 ON :表示開啟對標識列顯示值插入模式,允許對標識列顯示值進行手動插入數據。

2).SET IDENTITY_INSERT 表名 OFF:表示關閉對標識列顯示值的插入操作,標識列不允許手動插入顯示值。

注意:IDENTITY_INSERT的開啟ON和關閉OFF是成對出現的,所以,在執行完手動插入操作之后,記得一定要把IDENTITY_INSERT設置為OFF,否則下次的自動插入數據會插入失敗。

例如:

創建一張表b1,b_id為標識列,設置為唯一標識,從1開始,每次插入新數據時,值都遞增1,不允許為空:

CREATE table b1(  b_id int identity(1,1) primary key not null,     b_name varchar(20) null)

當把表b1中b_id這一列設置為唯一標識列的時候,IDENTITY_INSERT屬性的值就默認被設置為了OFF了。標識列b_id列不允許手動去插入顯示值,只能由系統自動按照排順序去插入顯示的值。

1.當IDENTITY_INSERT 為OFF時,往表b1中插入2條數據,往標識列中手動插入顯示值:

代碼1:

 insert into b1(b_id,b_name) values(1,"莉莉") insert into b1(b_id,b_name) values(2,"阿呆")

插入結果:

代碼2:

 insert into b1(b_name) values("莉莉") insert into b1(b_name) values("阿呆")

插入結果:

說明:當把IDENTITY_INSERT設置為OFF時,標識列是不允許手動插入顯示值的,只能有系統去自動插入標識列的顯示值。

2.當IDENTITY_INSERT 為ON時,往表b1中插入2條數據,往標識列中手動插入顯示值:

代碼1:

set identity_insert b1 on --開啟對標識列的插入模式,標識列允許手動插入顯示值

insert into b1(b_id,b_name) values(8,"小白")  --手動去插入標識列b_id的顯示值為8insert into b1(b_id,b_name) values(9,"小黑")

set identity_insert b1 off --關閉對標識列的插入操作,標識列不允許手動插入顯示值

插入結果:

代碼2:

set identity_insert b1 on --開啟對標識列的插入模式,標識列允許手動插入顯示值

insert into b1(b_name) values("小胖")  --手動去插入標識列b_id的顯示值為8insert into b1(b_name) values("小寶")

set identity_insert b1 off --關閉對標識列的插入操作,標識列不允許手動插入顯示值

插入結果:

說明:當設置IDENTITY_INSERT為ON時,必須要指定標識列中要插入的的顯示值,要手動的插入標識列中的顯示值。因為系統將不再對標識列的顯示值自動插入了。所以,必須要手動去給標識列插入顯示值。

到此這篇關于sql IDENTITY_INSERT對標識列的作用和使用的文章就介紹到這了,更多相關sql IDENTITY_INSERT對標識列內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MsSQL
主站蜘蛛池模板: 潼南县| 疏勒县| 大邑县| 泰顺县| 沅江市| 台南县| 温泉县| 仁怀市| 庆安县| 依安县| 合作市| 维西| 林芝县| 开江县| 博乐市| 新乐市| 涪陵区| 信宜市| 齐河县| 光泽县| 平泉县| 娱乐| 东丽区| 信阳市| 祁阳县| 丹东市| 鹰潭市| 洱源县| 吉水县| 泾川县| 浦北县| 泸水县| 石家庄市| 肥西县| 景宁| 山丹县| 叶城县| 平安县| 子洲县| 东宁县| 隆子县|