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

SQL Serverで2つのテーブルに同時にデータを挿入するにはどうすればよいですか?

    これを試してください:

    insert into [table] ([data])
    output inserted.id, inserted.data into table2
    select [data] from [external_table]
    

    更新: Re:

    デニス-これは私がやりたいことに非常に近いようですが、おそらく次のSQLステートメントを修正できますか?基本的に、[table1]の[data]と[table2]の[data]は、[external_table]とは異なる2つの異なる列を表します。上記で投稿したステートメントは、[data]列を同じにする場合にのみ機能します。

    INSERT INTO [table1] ([data]) 
    OUTPUT [inserted].[id], [external_table].[col2] 
    INTO [table2] SELECT [col1] 
    FROM [external_table] 
    

    insertに外部列を出力することはできません ステートメントなので、このようなことができると思います

    merge into [table1] as t
    using [external_table] as s
    on 1=0 --modify this predicate as necessary
    when not matched then insert (data)
    values (s.[col1])
    output inserted.id, s.[col2] into [table2]
    ;
    


    1. Hibernate、Postgres、およびアレイタイプ

    2. SCUMMダッシュボードを使用したMySQLの効果的な監視:パート1

    3. PHP / MySQLで2つのmysqlクエリを1つとして実行するにはどうすればよいですか?

    4. PostgreSQLデータベースを保護する方法-10のヒント