在已有标识列和默认值约束的表中插入数据,复制表

一.如有以下表结构

CREATE TABLE [SAMPLE]
(
 ID INT NOT NULL IDENTITY(1,1),
 CITY VARCHAR(20) CONSTRAINT DF_CITY DEFAULT 'CQ',
 [NAME] VARCHAR(30),
)

要插入一行数据需要使用以下语句

SET IDENTITY_INSERT [SAMPLE] OFF

INSERT INTO [SAMPLE] VALUES(DEFAULT,'chen')  这里标识列值不对指定,如果要使用默认值则在Values里使用DEFAULT关键字)

如果只插入带标识列的某几些,则必须将DENTITY_INSERT 设置为 ON后,然后才能对各个列插入数据
insert into [sample] (id, city, name) values(9, ch, 'ww')


二.使用insert复制表中数据

   使用insert复制sample表中的数据到abc表,则两表各列字段必须匹配,且不则复制约束,语法如下
   insert abc  (id, city, name)  select [id], city, [name] from [sample]
  此语句虽然可以复制源表sample里的标识列值,麻烦之处在于必指定每个字段,
  不知还有没有其它更好的方法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值