SQL 中主标识列IDENTITY使用技巧
来源:Asp之家 发布时间:2011-06-02 08:47:00
文通过一个操作实例来说明SQL中主标识列IDENTITY的使用技巧。
要求:在 sql server 2005中,建立数据表book,在表book中设有标识列,标识种子为1000,现要从另一个相同结构的表book1中导入数据,两表结构定义语句如下:
create table book
(书号 int identity(1000,1) not for identity primary key clustered,
书名 char(20) not null,
出版社 char(20) check (出版社 in ('高教','浙大','电子','中央')),
出版日期 datetime default (getdate()),
单价 numeric(7,2) check(单价>0),
数量 smallint check(数量>=0),
总价 AS 单价*数量,
EMAIL varchar(20) check(EMAIL LIKE '%@%')
create table book1
(书号 int primary key clustered,
书名 char(20) not null,
出版社 char(20) check (出版社 in ('高教','浙大','电子','中央')),
出版日期 datetime default (getdate()),
单价 numeric(7,2) check(单价>0),
数量 smallint check(数量>=0),
总价 AS 单价*数量,
EMAIL varchar(20) check(EMAIL LIKE '%@%')
用如下语句来导入数据:
insert into book select * from book1
结果,系统报错为:
当使用了列列表并且IDENTITY_INSERT 为ON 时,才能为表‘book’中的标识列指定显式值。
问题1:SQL SERVER 2005中如何设置IDENTITY_INSERT的值为ON?
格式为:SET IDENTITY_INSERT TABLE_NAME ON/OFF
于是用下列语句
SET IDENTITY_INSERT book ON
Insert into book select * from book1
SET IDENTITY_INSERT book OFF
结果出错提示与上面相同。为什么已经设置了表book的IDENTITY_INSERT为ON还出错呢?
重新输入指定列名的的语句:
insert into book(书号,书名) select 书号,书名 from book2
结果:系统提示成功运行。Book2中的记录按记录号的顺序插入到表book中。
结论:
这说明在主表定义标识列且加选项not for replication时,表示当通过复制向表中插入数据时,不需要遵循IDENTITY属性要求。 在复制数据时,要保证主表的IDENTITY_INSERT的状态为ON,且复制数据时必须显示的表明字段名。


猜你喜欢
- 特殊属性Python中对象包括很多双下划綫开始和结束的属性,这些特殊属性,有特殊用法。特殊方法含义obj.__dict__对象的属性字典ob
- 今天我们使用 Pyecharts 制作一个地球可视化项目,一起来看看吧Let’s go!数据处理这里我们使用全球新冠感染
- 本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) 。 MySQ
- 当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法。这里假设有一个htmer.asp动态页面,你想把它生成为
- 在ORACLE中,我们可以通过file_id(file#)与block_id(block#)去定位一个数据库对象(object)。例如,我们
- 一、分工和流程在土豆网,以项目开发为核心,谁都可以带项目,担任项目经理。一个典型的土豆网项目中,当进入正式开发阶段,通常参与者包括:1名设计
- 本文实例讲述了Python3将jpg转为pdf文件的方法。分享给大家供大家参考,具体如下:#coding=utf-8#!/usr/bin/e
- 从那起,我已经对这些方法做了大量的研究,并且已经在很多场合使用他们。在很多任务中,他们被证明是非常有用的(特别关于结构的抽象 DOM 选择器
- 这里要注意的是js的时间戳是13位,php的时间戳是10位,转换函数如下: var nowtime = (new Date).getTime
- 今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 “django-admin.py startproject m
- 一、聚合函数聚合函数:又叫组函数,用来对表中的数据进行统计和计算,结合group by分组使用,用于统计和计算分组数据常用聚合函数count
- 爬取了下小猪短租的网站出租房信息但是输出的时候是这种:百度了下。python2.7在window上的编码确实是个坑解决如下如果是个字典的话要
- 1. 前言中文分词≠自然语言处理!HanlpHanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。H
- 平时学生交上机作业的时候经常有人相互复制,直接改文件名了事,为了能够简单的检测这种作弊行为,想到了检测文件的MD5值,虽然对于抄袭来说作用不
- 关于维卷积的理解功能一维卷积一般用于处理文本数据,常用语自然语言处理中,输入一般是文本经过embedding的二维数据。定义tf.layer
- 在for i in iterator结构中,循环器每次返回的对象将赋予给i,直到循环结束。使用iter()内置函数,我们可以将诸如表、字典等
- 一、forEach1.1 遍历数组var array = [1,2,3,4,5,6];/*** currentValue 当前元素* ind
- MySQL Index索引是一种数据结构,可以是B-tree、R-tree、或者hash结构。其中,B-tree适用于查找某范围内的数据,可
- 本文实例讲述了python访问mysql数据库的实现方法。分享给大家供大家参考,具体如下:首先安装与Python版本匹配的MySQLdb示例
- 最近一直在整理统计图表的绘制方法,发现Python中除了经典Seaborn库外,还有一些优秀的可交互的第三方库也能实现一些常见的统计图表绘制