Sql 如何将ID从表A复制到表B
这是SQL代码:Sql 如何将ID从表A复制到表B,sql,sql-server,tsql,Sql,Sql Server,Tsql,这是SQL代码: Declare @A_ID AS A_ID insert into TBL_FO VALUES(NEWID(), @A_ID, '30000.00','1','1') (select * from TBL_DETAIL where A_ID = '59366409-2EB6-49BC-A88F-801692B735D6') 我想按照TBL_详细信息中的A_ID作为'59366409-2EB6-49BC-A88F-801692B735D6'将A_ID复制到TBL_FO中,以
Declare @A_ID AS A_ID
insert into TBL_FO VALUES(NEWID(), @A_ID, '30000.00','1','1')
(select * from TBL_DETAIL where A_ID = '59366409-2EB6-49BC-A88F-801692B735D6')
'59366409-2EB6-49BC-A88F-801692B735D6'
将A_ID复制到TBL_FO中,以便@A_ID
。。如何为复制相同ID声明A_IDDeclare @A_ID as varchar(100) -- adjust the length as needed
select @A_ID = A_ID from TBL_DETAIL where A_ID = '59366409-2EB6-49BC-A88F-801692B735D6'
Declare @FO_ID as int -- To insert this into One or more tables
SET @FO_ID = NEWID() -- Initialize it one time.
insert into TBL_FO VALUES(@FO_ID, @A_ID, '30000.00','1','1') -- First use of @FO_ID
insert into TBL_SOMEOTHERTBL VALUES( @FO_ID, .... ) -- Second use of @FO_ID
etc ...
指定要设置的列,然后在子查询后面加上A_ID之外所需的值(按列名的顺序):
注意:如果表列的顺序与插入它们的顺序相同,也可以选择不指定列名您能否共享请共享
tbl\u fo
和tbl\u detail
的结构?这是用于哪个RDBMS的?请添加一个标记以指定您是否正在使用mysql
,postgresql
,sqlserver
,oracle
或db2
-或完全其他的东西。根据所使用的语法添加了tsql
和sql server
标记。提示:您可以使用子句从行中获取任何数据(注意复数形式),例如,新插入行的标识列值<代码>输出可与插入
、更新
、删除
和合并
一起使用,并在更新
时提供对前后值的访问。你口袋里有一件很值得的工具我试过了。。谢谢你的建议。如果可能,使用内部联接
最多4个表?@KHLIM我不确定您的意思。。。请详细说明这是我的工作TBL_FO
已为FO_ID right生成一个新ID。但是,我可以抓取这个fou ID
来插入另一个表吗?我可以抓取相同的fou ID来插入另一个表值吗?注意,谢谢。你好,如果我回答了你的问题,你能接受我的回答吗?我想你的答案有点不同。我需要将insert更改为SELECT。这是正确的方法。您不需要为a_id声明变量这是从表a到表B的一个all值的复制,对吗?我只需要一个_ID。不,它插入正确的字段。。。如果选择*则会复制所有值,但情况并非如此
insert
into
TBL_FO (FirstColumnName,
SecondColumnName,
ThirdColumnName,
FourthColumnName,
FifthColumnName)
(select
NEWID(),
A_ID,
'30000.00',
'1',
'1'
from
TBL_DETAIL
where
A_ID = '59366409-2EB6-49BC-A88F-801692B735D6')