1

こんにちは、テーブルのすべてのエントリを反復処理し、primaryKey によって別のテーブルを検索する変更セットを作成したいと考えています。このテーブルにその primaryKey のエントリがない場合は、2 つの異なるテーブルで 2 つの挿入を実行する必要があります。これを解決する方法を知っている人はいますか?

ご挨拶とご協力ありがとうございます

4

1 に答える 1

2
table1 (data to use for check)  I'm assuming you want to pull some data from here, if not replace table1.col3 below with the data you want.
table2 (data to check against)  Assumes your FK column is table1_id
table3 (table to insert to)
table4 (table to insert to)

2 つの変更セットを使用します (テーブル 1 と 2 のデータは実行中に変更されないと仮定します)

<changeSet>
  <sql>insert into table3 (col1, col2) (select table1.col3, 'val1' from table1 where table1.id not in(select table2.table1_id from table2))</sql>
</changeSet>
<changeSet>
  <sql>insert into table4 (col1, col2) (select table1.col3, 'val1' from table1 where table1.id not in(select table2.table1_id from table2))</sql>
</changeSet>
于 2013-09-05T16:24:55.150 に答える