sqlsever为标识列指定显式值

月峰翡翠

月峰翡翠

2016-02-19 09:28

下面是个超简单的sqlsever为标识列指定显式值教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~
sqlsever为标识列指定显式值的问题,大多是大家在两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误:
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'*'中的标识列指定显式值。
在网上找到了解决方案,亲自试过,可以解决。
一、问题详述如下:
系统:windows2003
数据库:2005
数据库实例:wzgl2004 和wzgl2003,这两个实例都有表kc
执行语句
insert into wzgl2004.dbo.kc select * from wzgl2003.dbo.kc
就有报错信息:
"仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'wzgl2004.dbo.kc ' 中为标识列指定显式值。"

二、解决方法:
代码如下:

SET IDENTITY_INSERT test ON
insert into wzgl2004.dbo.kc(id,name) select (id,name) from wzgl2003.dbo.kc
SET IDENTITY_INSERT test OFF

三、SET IDENTITY_INSERT的帮助知识
1、SET IDENTITY_INSERT :允许将显式值插入表的标识列中。
2、语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
参数
database
是指定的表所驻留的数据库名称。
owner
是表所有者的名称。
table
是含有标识列的表名。

3、附加:任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。 如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用。
SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。
sqlsever为标识列指定显式值总结到此结束,如有疑问请联系我们www.cncnc.com.cn,中国信息港为你提供高效安全的sql数据库。
展开更多 50%)
分享

猜你喜欢

sqlsever为标识列指定显式值

编程语言 网络编程
sqlsever为标识列指定显式值

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

编程语言 网络编程
在SQL Server数据库中为标识(IDENTITY)列插入显式值

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MYSQL中怎样设列的默认值为Now()的介绍

编程语言 网络编程
MYSQL中怎样设列的默认值为Now()的介绍

取得MYSQLENUM(枚举)列的全部可能值

编程语言 网络编程
取得MYSQLENUM(枚举)列的全部可能值

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Excel提取指定条件的不重复值

excel
Excel提取指定条件的不重复值

标记语言:为指定css样式

Web开发
标记语言:为指定css样式

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

一个即时表单验证的javascript代码

一个即时表单验证的javascript代码

MySQL 文本文件的导入导出数据的方法

MySQL 文本文件的导入导出数据的方法
下拉加载更多内容 ↓