Sql 如何将ID从表A复制到表B

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中,以

这是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中,以便
    @A_ID
    。。如何为复制相同ID声明A_ID
  • 试试这个:

    Declare @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')