使用T-SQL语句,如何将表1的一个字段里的所有记录插入到表2中?

时间:2021-12-12 15:06:45
向高手请教!
我想使用T-SQL语句。将T01表中的P01字段中所有的记录插入到T04表的P01中。语句应该如何写?

11 个解决方案

#1


insert T04表(P01)
select T01 from P01表

#2


insert T04表(P01)
select T01 from P01表

#3


如果想不加选择的插入用
insert T04表(P01) select P01 from T01表

#4


如果T01中有identity的主键字段,需要这样
SET IDENTITY_INSERT T04表 ON
insert T04表(P01)
select T01 from P01表
SET IDENTITY_INSERT T04表 OFF

#5


汗一个,1,2,4楼的兄弟
不要copy啊。。
把人家的错误也copy过来了。
字段和表也能搞混,你们不是误导别人么。。

#6


各位高手,我试过大家的方法但是好象都不行。
可不可以使用循环来做呢?

#7


因为T04表中P01是主键,我不希望删掉已有的记录。

报错信息:
服务器: 消息 2627,级别 14,状态 1,行 1
违反了 PRIMARY KEY 约束 'PK_T04'。不能在对象 'T04' 中插入重复键。
语句已终止。

#8


insert into t04
values (
   select p01,... 
     from t01 
    where t01.p01 not in (
             select distinct p01 from t04)
       )

#9


写错了
insert t04
values (
   select p01,... 
     from t01 
    where t01.p01 not in (
             select distinct p01 from t04)
       )

多了个into ,晕了,放风去

#10


你最好把表结构都给出来,要不写的不对大家伙都不知道错在那
你写个把表出来也不会造成什么GP泄密
你说是不是?

#11


是这样写吗?
insert t04(P01)
values 
(
   select p01
   from t01
   where t01.p01 not in (select distinct p01 from t04)
)

报错信息:
服务器: 消息 156,级别 15,状态 1,行 4
在关键字 'select' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 7
第 7 行: ')' 附近有语法错误。




=======================================================================
我的数据库表名都是T+2位数,字段名都是P+2位数。有一个文档进行对照。
这样可以保证别人看不懂数据库,而且不必为字段起名字而烦恼。
:)个人习惯

比如:
T01省份信息表
----------------
P01  编号  char2
P02  名称  nvarchar20
P03  简称  nvarchar1
P04  省会  nvarchar10
...

#1


insert T04表(P01)
select T01 from P01表

#2


insert T04表(P01)
select T01 from P01表

#3


如果想不加选择的插入用
insert T04表(P01) select P01 from T01表

#4


如果T01中有identity的主键字段,需要这样
SET IDENTITY_INSERT T04表 ON
insert T04表(P01)
select T01 from P01表
SET IDENTITY_INSERT T04表 OFF

#5


汗一个,1,2,4楼的兄弟
不要copy啊。。
把人家的错误也copy过来了。
字段和表也能搞混,你们不是误导别人么。。

#6


各位高手,我试过大家的方法但是好象都不行。
可不可以使用循环来做呢?

#7


因为T04表中P01是主键,我不希望删掉已有的记录。

报错信息:
服务器: 消息 2627,级别 14,状态 1,行 1
违反了 PRIMARY KEY 约束 'PK_T04'。不能在对象 'T04' 中插入重复键。
语句已终止。

#8


insert into t04
values (
   select p01,... 
     from t01 
    where t01.p01 not in (
             select distinct p01 from t04)
       )

#9


写错了
insert t04
values (
   select p01,... 
     from t01 
    where t01.p01 not in (
             select distinct p01 from t04)
       )

多了个into ,晕了,放风去

#10


你最好把表结构都给出来,要不写的不对大家伙都不知道错在那
你写个把表出来也不会造成什么GP泄密
你说是不是?

#11


是这样写吗?
insert t04(P01)
values 
(
   select p01
   from t01
   where t01.p01 not in (select distinct p01 from t04)
)

报错信息:
服务器: 消息 156,级别 15,状态 1,行 4
在关键字 'select' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 7
第 7 行: ')' 附近有语法错误。




=======================================================================
我的数据库表名都是T+2位数,字段名都是P+2位数。有一个文档进行对照。
这样可以保证别人看不懂数据库,而且不必为字段起名字而烦恼。
:)个人习惯

比如:
T01省份信息表
----------------
P01  编号  char2
P02  名称  nvarchar20
P03  简称  nvarchar1
P04  省会  nvarchar10
...