2016-03-24 13 views
0

「バッチ処理を使用すると、関連するSQL文をバッチにグループ化し、データベースへの1回の呼び出しで送信することができます。しかし、私の質問は、一度に異なるSQL文を実行する方法です。つまり、データベースへの1回の呼び出しでEmployeeテーブル、Addressテーブル、Departmentテーブルにレコードを挿入します。それで、それは可能ですか?私はPostgreSQLとjavaを使用しています。異なるSQL文を一度に実行する方法

答えて

1

を参照してください。トランザクション(begincommitの間)は、アトミックに扱われます。つまり、「1つのステートメント」と同じです。

1

これらの文を匿名コードブロックにグループ化して実行します。

begin; 
insert into table1 ...; 
insert into table2 ...; 
insert into table3 ...; 
commit; 

内のすべてのステートメント:

は、トランザクションを使用することによって効果的に「一度に」あなたは1つのステートメントで複数のテーブルに挿入することはできませんが、あなたがそれを行うことができます http://nixmash.com/postgresql/using-postgresql-anonymous-code-blocks/

関連する問題