本文主要介绍SQL IDENTITY_INSERT case的详细说明。本文通过一个简单的案例,说明了对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。
一般情况下,当生产任务列设置为数据表中的标识列时,不能手工将标识列的显示值插入到标识列中。但是,您可以通过设置SET IDENTITY_INSERT属性来手动插入标识列中显示的值。
写作:
SET IDENTITY_INSERT table name ON:表示标识列显示值的插入模式打开,可以手动将数据插入到标识列的显示值中。
SET IDENTITY_INSERT表名OFF:表示标识列显示值的插入被关闭,不允许手动插入标识列的显示值。
注意:IDENTITY_INSERT的ON和OFF是成对的,所以在手动插入操作之后,记得将IDENTITY_INSERT设置为OFF,否则下一次自动数据插入将会失败。
例如:
创建一个表b1,其中b_id是标识列,并设置为唯一标识。从1开始,每次插入新数据时,该值都会增加1,并且不能为空:
创建表b1
(
b_id int identity(1,1)主键不为空,
b_name varchar(20) null
)
当表b1中的列b_id设置为唯一标识列时,IDENTITY_INSERT属性的值默认设置为OFF。标记列b_id列不允许手动插入显示值,显示值只能由系统根据行顺序自动插入。
1.当IDENTITY_INSERT 为OFF时,往表b1中插入2条数据,往标识列中手动插入显示值:
代码1:
转换成B1 (b _ id,b _ name)值(1,' lily ')
转换为B1 (b _ id,b _ name)值(2,“阿呆”)
插入结果:
代码2:
插入B1 (b _ name)值(' Lily ')
插入B1 (b _ name)值(“阿呆”)
插入结果:
注意:当IDENTITY_INSERT设置为OFF时,不允许手动插入标识列的显示值。只有系统可以自动插入标识列的显示值。
2.当IDENTITY_INSERT 为ON时,往表b1中插入2条数据,往标识列中手动插入显示值:
代码1:
set identity _ insert B1 on-打开标识列的插入模式,该模式允许手动插入显示值。
到B1 (b_id,b _ name)值(8,'白色')-手动插入显示值为8的标识列b_id。
转换成B1 (b _ id,b _ name)值(9,'小黑')
set identity _ insert B1 off-关闭标识列的插入,这不允许手动插入显示值。
插入结果:
代码2:
set identity _ insert B1 on-打开标识列的插入模式,该模式允许手动插入显示值。
插入B1 (b _ name)值(' chubby ')-手动插入显示值为8的标识列b_id。
插入b1(b_name)值(“鲍晓”)
set identity _ insert B1 off-关闭标识列的插入,这不允许手动插入显示值。
插入结果:
注意:将IDENTITY_INSERT设置为ON时,必须指定要在标识列中插入的显示值,并在标识列中手动插入显示值。因为系统将不再自动插入标识列的显示值。因此,需要手动将显示值插入标识列。
关于SQL IDENTITY_INSERT case的详细解释本文到此结束。有关SQL IDENTITY_INSERT角色的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。