SET IDENTITY_INSERT的用法,具体去体验一下
2015-09-11 10:57
465 查看
如果将值插入到表的标识列中,需要启用 SET IDENTITY_INSERT。
举例如下:
创建表Orders、Products,Orders表与Products表分别有标识列OrderID与ProductID:
当我们用如下插入语句往Orders表中插入数据:
执行此语句后,会出现如下错误:
把插入语句做如下修改:
此时执行成功;
我们在向Products表做如上插入:
产生如下错误:
我们对sql做如下修改后,products表插入数据成功
可以看到当我们对表的Identity_Insert 的启用与关闭时成对出现,即
如果我们用下面的语句往Products表中插入数据
出现如下错误:
修改上面t-sql语句:
可以知道如果对标识列进行插入,那么需要显示的列出标识列
举例如下:
创建表Orders、Products,Orders表与Products表分别有标识列OrderID与ProductID:
--表Orders,Products CREATE TABLE Orders( OrderID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, PriceDate DateTime ) CREATE TABLE Products( ProductID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, PriceDate Datetime )
当我们用如下插入语句往Orders表中插入数据:
INSERT INTO Orders (OrderID ,PriceDate ) VALUES(1,GETDATE())
执行此语句后,会出现如下错误:
把插入语句做如下修改:
SET IDENTITY_INSERT Orders ON INSERT INTO Orders (OrderID ,PriceDate ) VALUES(1,GETDATE())
此时执行成功;
我们在向Products表做如上插入:
SET IDENTITY_INSERT Products ON INSERT INTO Products (ProductID,PriceDate ) VALUES(1,GETDATE())
产生如下错误:
我们对sql做如下修改后,products表插入数据成功
--修改后的sql
SET IDENTITY_INSERT Orders ON INSERT INTO Orders (OrderID ,PriceDate ) VALUES(1,GETDATE())
SET IDENTITY_INSERT Orders OFF
SET IDENTITY_INSERT Products ON INSERT INTO Products (ProductID,PriceDate ) VALUES(1,GETDATE())
SET IDENTITY_INSERT Products OFF
可以看到当我们对表的Identity_Insert 的启用与关闭时成对出现,即
SET IDENTITY_INSERT Products ON --Code SET IDENTITY_INSERT Products OFF
如果我们用下面的语句往Products表中插入数据
SET IDENTITY_INSERT Products ON INSERT INTO Products SELECT * FROM Orders SET IDENTITY_INSERT Products OFF
出现如下错误:
修改上面t-sql语句:
SET IDENTITY_INSERT Products ON INSERT INTO Products(ProductID,PriceDate) SELECT * FROM Orders SET IDENTITY_INSERT Products OFF
可以知道如果对标识列进行插入,那么需要显示的列出标识列
相关文章推荐
- iOS系统架构以及lib.a生成介绍
- C#分部类和分部方法的使用
- MongoDB Java驱动&Spring实现
- getResourceAsStream用法
- redis异常解决:MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist
- angularJs1.x <三、ng-bind>
- elasticsearch + logstash + kibana 搭建实时日志收集系统【原创】
- 连接网络
- Python六大开源框架对比:Web2py略胜一筹
- HDU1584 蜘蛛牌(DFS)
- 请求调用链
- android系统通过图片绝对路径获取URI的三种方法
- 线性表的数组表示
- log4j.xml
- openwrt 包makefile
- SQLserver备份数据库示例
- 用python加载3ds max场景设置相关参数,渲染,保存输出图,最后退出3dsmax软件
- Scala中的测试
- [转载]Asp.net默认配置下,Session莫名丢失的原因及解决
- JavaScript中table对象集合整理