`
polokang
  • 浏览: 67831 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

set IDENTITY_INSERT on 和 off 的设置

Go 
阅读更多
sqlserver 批量插入记录时,对有标识列的字段要设置 set IDENTITY_INSERT 表名 on,然后再执行插入记录操作;插入完毕后恢复为 off 设置

格式:
  set IDENTITY_INSERT 表名 on
  set IDENTITY_INSERT 表名 off


举例:

set IDENTITY_INSERT peoplePworkpositiontype  on
insert peoplePworkpositiontype(id,workpositiontype,workpositiontypeid) values(1 , '平台' , 1 )
insert peoplePworkpositiontype(id,workpositiontype,workpositiontypeid) values(2 , '陆地' , 2 )
insert peoplePworkpositiontype(id,workpositiontype,workpositiontypeid) values(3 , '海上' , 3 )

go
set IDENTITY_INSERT peoplePworkpositiontype  off


set IDENTITY_INSERT peoplePstatetype  on
insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(1 , '出海' , 1 )
insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(2 , '出差' , 2 )
insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(3 , '公司' , 3 )
insert peoplePstatetype(id,nowstatetype,nowstatetypeid) values(4 , '会议' , 4 )
go
set IDENTITY_INSERT peoplePstatetype  off
go

分享到:
评论
1 楼 dengyi04405 2010-01-11  
长见识了,以前从没批量插入记录过。。。

相关推荐

    SQL Server 之 SET IDENTITY_INSERT

    在设置了`SET IDENTITY_INSERT products ON`之后,我们可以显式地为标识列指定值。这里我们将`gardenshovel`的`id`值设为1。 4. **对另一个表使用 SET IDENTITY_INSERT**: ```sql CREATE TABLE products2 ( id...

    Set IDENTITY _INSERTY用法

    **结果分析:** 如果没有先执行 `SET IDENTITY_INSERT products ON`,那么这条语句将因为默认的 `IDENTITY_INSERT` 设置为 `OFF` 而失败。 ##### 示例三:启用 `IDENTITY_INSERT` 并插入指定 `IDENTITY` 值的记录 ...

    sql Set IDENTITY_INSERT的用法

    1. 当 `IDENTITY_INSERT` 设置为 `ON` 时,不能在同一会话中对同一表再次执行 `SET IDENTITY_INSERT ON`。 2. 如果尝试插入的值已经存在于标识列中,或者超过了该列的最大值,插入操作将失败。 3. 在数据迁移后,...

    sqlserver自动增长列引起的问题解决方法

    3. 完成插入操作后,使用`SET IDENTITY_INSERT table_name OFF`关闭显式插入权限,恢复到默认状态,防止后续操作错误地修改自动增长列的值。 这个解决方案适用于在数据迁移、数据同步或复制场景下,但需要注意的是...

    sqlsever为标识列指定显式值

    解决这个问题的方法是,首先使用`SET IDENTITY_INSERT`命令将特定表的标识插入设置为ON,然后在插入语句中明确指定列列表,最后再关闭`IDENTITY_INSERT`。以下是一个示例: ```sql -- 开启IDENTITY_INSERT SET ...

    identity用法总结

    语法为:SET IDENTITY_INSERT [database.[ owner.]] {table } { ON |OFF },其中 database 是指定的表所驻留的数据库名称,owner 是表所有者的名称,table 是含有标识列的表名。 3、DBCC CHECKIDENT DBCC ...

    Insert语句向标识列中插入数据.pdf

    Set Identity_Insert identitytable on ``` 然后执行插入操作: ```sql Insert into identitytable (number, Name) values(5, '商场') ``` 这里我们指定了`number`列的值为5,`Name`列为'商场'。注意,这种方法需要...

    如何在数据库标识列里插入特定的值

    SET IDENTITY_INSERT TestIdentityGaps OFF; ``` 现在,我们可以看到插入了具有指定主键值的新行。但要注意,一旦 `IDENTITY_INSERT` 设置为 `ON`,如果尝试插入已经存在的主键值,仍然会导致错误。因此,确保插入...

    SQL Server 打开或关闭自增长

    1. `SET IDENTITY_INSERT` 只能在当前会话中生效,关闭会话后,该设置将失效。 2. 在同一时间,只能对一个表开启`IDENTITY_INSERT`,如果尝试对另一个表打开,而前一个表未关闭,将导致错误。 3. 如果尝试插入已存在...

    在SQL Server数据库中为标识(IDENTITY)列插入显式值

    首先,我们需要使用`SET IDENTITY_INSERT [TableName] ON`命令来允许对特定表(如`member`)的标识列进行显式插入。这会暂时关闭自动增长的机制,允许我们手动指定一个值。 接着,我们可以执行插入语句,如`INSERT ...

    sql自动增长标识导致导入数据问题的解决方法

    SET IDENTITY_INSERT [database_name].[schema_name].[table] { ON | OFF } ``` 其中,`database_name`是表所在的数据库名称,`schema_name`是表所属的架构名称,`table`则是包含标识列的表名。当`IDENTITY_INSERT`...

    计算机等考三级数据库知识辅导:自动排除计算字段拷贝表数据.docx

    这通过`set identity_insert @tableName on`语句实现。 3. **构建插入语句**:存储过程接着构建了一个SQL插入语句,用于拷贝数据。它遍历`syscolumns`视图,筛选出非计算字段(`iscomputed <> 1`),并将这些字段名...

    sqlserver自动增长字段设置方法.rar

    SET IDENTITY_INSERT Employees ON; INSERT INTO Employees (EmployeeID, FirstName, LastName) VALUES (100, 'John', 'Doe'); SET IDENTITY_INSERT Employees OFF; ``` - **重置自动增长**:如果自动增长值...

    sql妙用(绝妙的sql语句)

    SET IDENTITY_INSERT TableName ON INSERT INTO TableName (ID, ...) VALUES (1, ...) SET IDENTITY_INSERT TableName OFF DBCC CHECKIDENT (TableName, RESEED, 1) ``` 4. **通用SQL查询语句**:简单的...

    导出insert语句的存储过程sql脚本

    print 'SET IDENTITY_INSERT ' + @TableName + ' OFF' ``` ### 总结 该存储过程提供了一种简单有效的方法来将现有表中的数据转换成INSERT语句。这对于备份数据、恢复数据或迁移数据库等场景都非常有用。此外,它...

Global site tag (gtag.js) - Google Analytics