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

SQL Server:2つのテーブルに同時に挿入することは可能ですか?

    1つのステートメント :いいえ。

    1つのトランザクションで :はい

    BEGIN TRANSACTION
       DECLARE @DataID int;
       INSERT INTO DataTable (Column1 ...) VALUES (....);
       SELECT @DataID = scope_identity();
       INSERT INTO LinkTable VALUES (@ObjectID, @DataID);
    COMMIT
    

    幸いなことに、上記のコードもアトミックであることが保証されています。 、および1つのステートメントであるかのように、1回の関数呼び出しで1つのSQL文字列を使用してクライアントアプリケーションからサーバーに送信できます。 1つのテーブルにトリガーを適用して、単一の挿入の効果を取得することもできます。ただし、最終的には2つのステートメントであり、すべてのトリガーを実行したくない場合があります。 挿入します。



    1. SQLServerサービスブローカーの会話グループ

    2. SQLで月番号を月名関数に変換する

    3. SortCL互換のIRIジョブでのテーブルルックアップ

    4. varchar文字列を数値として注文する