sql >> データベース >  >> RDS >> Sqlserver

前の挿入に基づいてレコードを挿入する方法は?

    これを試してください

    入力

    declare @tblA table (id int,name varchar(20))
    declare @tblB table (id int,name varchar(20))
    declare @tblC table (id int identity,name varchar(20))
    insert into @tblC 
        select 'name1' union all select 'name2' union all
        select 'name3' union all select 'name4' union all
        select 'name5' union all select 'name6' union all
        select 'name7' union all select 'name8' union all
        select 'name9' union all select 'name10' union all
        select 'name11' union all select 'name12' union all
        select 'name13' union all select 'name14' union all
        select 'name15' union all select 'name16' union all
        select 'name17' union all select 'name18' union all
        select 'name19' union all select 'name20' 
    

    クエリ

    insert @tblA 
    output INSERTED.id, INSERTED.Name
    into @tblB 
    select 
        id,name
    from @tblC 
    where id % 2 = 0
    
    select * from @tblA
    select * from @tblB
    

    出力: [表AとBの両方について]

    ID名

    2   name2
    4   name4
    6   name6
    8   name8
    10  name10
    12  name12
    14  name14
    16  name16
    18  name18
    20  name20
    

    基本的に、IDが偶数のTableCからTableAにこれらのレコードを挿入しています。次に、Output句を使用して、TableAからTableBに値を挿入します

    詳細については、出力句 を参照してください。

    これが理にかなっていることを願っています



    1. 1日あたりの注文総数を計算するためのSQLクエリ?

    2. MySQLでトランザクションの一時停止はどのように機能しますか?

    3. MacOSX:起動時にmysqlを自動起動します

    4. SQL 開発者の接続の絞り込みビュー