AB表结构不完成相同,B表有个字段“ID”A表中没有,并且B表有约束ID的值不能重复
请问这样的语句怎么写,主要是那个ID字段怎么处理。
12 个解决方案
#1
insert A(cola,colb) select cola,clob from b where ... and not exists(select 1 from A where ID=b.ID)
#2
insert A表(列1,列2。。。)
select 列1,列2。。。) from B表
#3
LZ明明说是将A表的结果插入B表中....
INSERT INTO B(ID, colA, colB)
SELECT NEWID(), colA, colB
FROM A
WHERE.....
#4
如果ID为自增列..
insert into A (ID之外的列....) select 列1,列2... from B
如果ID不为自增列
select px=identity(int,1,1),列1,列2... into # from B where ....
insert into A(ID,列1....) select px,列1,列2... from #
#5
select into 和 insert into select 两种表复制语句
select * into destTbl from srcTbl
insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。
第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量
#6
同意
#7
ID列不是自增列。。我试试第二句。
其他人回答的都文不对题呀。
insert into B select * from A
这个语句我知道,但是主要问题是B表那个ID列的处理,ID不能为空也不能重复
#8
#9
有自增列都不行,应为你B表中本身就有数据,你都没说B表的ID列到底是什么情况。。。我觉得有点奇怪
可能是我的理解有点问题,等待高手
可能是我的理解有点问题,等待高手
#10
insert A表(列1,列2。。。)
select 列1,列2。。。) from B表
#11
csdn都分析的很详细,赞一个.
#12
今天用到这个功能了。学习了。谢谢哈哈
#1
insert A(cola,colb) select cola,clob from b where ... and not exists(select 1 from A where ID=b.ID)
#2
insert A表(列1,列2。。。)
select 列1,列2。。。) from B表
#3
LZ明明说是将A表的结果插入B表中....
INSERT INTO B(ID, colA, colB)
SELECT NEWID(), colA, colB
FROM A
WHERE.....
#4
如果ID为自增列..
insert into A (ID之外的列....) select 列1,列2... from B
如果ID不为自增列
select px=identity(int,1,1),列1,列2... into # from B where ....
insert into A(ID,列1....) select px,列1,列2... from #
#5
select into 和 insert into select 两种表复制语句
select * into destTbl from srcTbl
insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。
第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量
#6
同意
#7
ID列不是自增列。。我试试第二句。
其他人回答的都文不对题呀。
insert into B select * from A
这个语句我知道,但是主要问题是B表那个ID列的处理,ID不能为空也不能重复
#8
#9
有自增列都不行,应为你B表中本身就有数据,你都没说B表的ID列到底是什么情况。。。我觉得有点奇怪
可能是我的理解有点问题,等待高手
可能是我的理解有点问题,等待高手
#10
insert A表(列1,列2。。。)
select 列1,列2。。。) from B表
#11
csdn都分析的很详细,赞一个.
#12
今天用到这个功能了。学习了。谢谢哈哈