当前位置: 首页 > news >正文

SET IDENTITY_INSERT

允许将显式值插入表的标识列中。

语法
SET   IDENTITY_INSERT   [  database.[ owner. ]  ] {  table  } {  ON   |   OFF  }

  参数

database

是指定的表所驻留的数据库名称。

owner

是表所有者的名称。

table

是含有标识列的表名。

注释

任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。

如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用。

SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。

权限

执行权限默认授予 sysadmin 固定服务器角色和 db_ownerdb_ddladmin 固定数据库角色以及对象所有者。

示例

下例创建一个含有标识列的表,并显示如何使用 SET IDENTITY_INSERT 设置填充由 DELETE 语句导致的标识值中的空隙。

ExpandedBlockStart.gif 代码
--  Create products table.
CREATE   TABLE  products (id  int   IDENTITY   PRIMARY   KEY , product  varchar ( 40 ))
GO
--  Inserting values into products table.
INSERT   INTO  products (product)  VALUES  ( ' screwdriver ' )
INSERT   INTO  products (product)  VALUES  ( ' hammer ' )
INSERT   INTO  products (product)  VALUES  ( ' saw ' )
INSERT   INTO  products (product)  VALUES  ( ' shovel ' )
GO

--  Create a gap in the identity values.
DELETE  products 
WHERE  product  =   ' saw '
GO

SELECT   *  
FROM  products
GO

--  Attempt to insert an explicit ID value of 3;
--
 should return a warning.
INSERT   INTO  products (id, product)  VALUES ( 3 ' garden shovel ' )
GO
--  SET IDENTITY_INSERT to ON.
SET   IDENTITY_INSERT  products  ON
GO

--  Attempt to insert an explicit ID value of 3
INSERT   INTO  products (id, product)  VALUES ( 3 ' garden shovel ' ).
GO

SELECT   *  
FROM  products
GO
--  Drop products table.
DROP   TABLE  products
GO

 

 

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/01/03/1638296.html

相关文章:

  • WebService 方法特性描述
  • VC6.0 +WDK 开发驱动的环境配置
  • [架构模式实践]如何不让第三方服务/组件的故障阻碍开发和测试进度
  • RedHat AS4 下安装基于bind的DNS服务器
  • nd5sum
  • jqueryeditable plugin
  • 迷望的人生
  • lftp使用简介
  • 用SQL存储过程将数据导出到Excel
  • 不使用反射的实体类方案
  • ASP删除文章时,需要删除eWebEditor上传文件
  • USB移动硬盘WinPE启动盘的制作
  • debain下装memcached
  • cto开博第一篇--迎接21世纪的第一个虎年
  • ftp服务器的架设
  • 【前端学习】-粗谈选择器
  • 2017前端实习生面试总结
  • android 一些 utils
  • canvas 高仿 Apple Watch 表盘
  • cookie和session
  • ES6之路之模块详解
  • magento 货币换算
  • react 代码优化(一) ——事件处理
  • uva 10370 Above Average
  • 看域名解析域名安全对SEO的影响
  • 类orAPI - 收藏集 - 掘金
  • 聊聊sentinel的DegradeSlot
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 如何实现 font-size 的响应式
  • 使用putty远程连接linux
  • 微信公众号开发小记——5.python微信红包
  • 项目管理碎碎念系列之一:干系人管理
  • 项目实战-Api的解决方案
  • 转载:[译] 内容加速黑科技趣谈
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (zhuan) 一些RL的文献(及笔记)
  • (六)软件测试分工
  • (四) Graphivz 颜色选择
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .bashrc在哪里,alias妙用
  • .form文件_SSM框架文件上传篇
  • .md即markdown文件的基本常用编写语法
  • .Net 代码性能 - (1)
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET开发人员必知的八个网站
  • .NET命名规范和开发约定
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .Net小白的大学四年,内含面经
  • @property括号内属性讲解