SQL IDENTITY_INSERT作用案例详解

SQL IDENTITY_INSERT作用案例详解

本文主要介绍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角色的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

SQL IDENTITY_INSERT作用案例详解