1つのステートメントでそれを実行する必要があるのは、プログラムがSQLステートメントをどのように処理するかによるものです。 sqlステートメントは別のテーブルの列に格納され、レコードセットのopenによって実行されます。セミコロンがステートメント内にある場合、openは無効な文字のエラーで応答します。1つのテーブルに挿入して同じSQL文を使用して別のテーブルを更新するにはどうすればよいですか?
シナリオ:特定の条件下で、データベースAの1つのレコードの特定のフィールドを更新し、その変更の事実を挿入してログテーブルに記録します。ここで
は二つの文を使用した例です:
update data_table a set field1='new value' where identifier=10;
insert into log_table (action_taken)
values('record ' || a.identifier || ' had field1 changed to ' || a.field1);
はこれを行う方法はありますか?
2番目のステートメントをトリガーとして追加することができます。 – meagar
単一のSQLステートメントでは実行できません。あなたのオプションは、貧弱に提案されたトリガまたはkrefftcによって提案されたストアドプロシージャです。 – BBlake