私は2つのテーブルを持っている、と彼らは一つのフィールドで接続されている:私はこの2つの表にデータを挿入するために、SQLを使用したいテーブルB2つのテーブルに1つのSQL挿入データを使用する方法?
の& IDをテーブルのB_ID。
どのように挿入するSQLを書くのですか?
1、テーブルBのidは自動インクリメントです。
2、愚かな方法で、まずテーブルBにデータを挿入してから、テーブルBからIDを選択してから、テーブルAにidをmessage_idとして追加することができます。
私は2つのテーブルを持っている、と彼らは一つのフィールドで接続されている:私はこの2つの表にデータを挿入するために、SQLを使用したいテーブルB2つのテーブルに1つのSQL挿入データを使用する方法?
の& IDをテーブルのB_ID。
どのように挿入するSQLを書くのですか?
1、テーブルBのidは自動インクリメントです。
2、愚かな方法で、まずテーブルBにデータを挿入してから、テーブルBからIDを選択してから、テーブルAにidをmessage_idとして追加することができます。
あなたは1つのSQL文で複数のテーブルにデータを挿入することはできません。データを最初にBテーブルに挿入してからテーブルAに挿入するだけです.RETURNINGステートメントを使用してID値を取得し、挿入間の追加のSELECT文を取り除くことができます。
参照:https://oracle-base.com/articles/misc/dml-returning-into-clause
トリガーを使用することもできます。具体的には「後で挿入」 - 詳細については私の答えを参照してください – maialithar
はあなたがについてAFTER INSERT
トリガーを聞いたことがありますか?私はそれがあなたが探しているものだと思います。
このような何かが、あなたがやりたいことがあります
CREATE OR REPLACE TRIGGER TableB_after_insert
AFTER INSERT
ON TableB
FOR EACH ROW
DECLARE
v_id int;
BEGIN
/*
* 1. Select your id from TableB
* 2. Insert data to TableA
*/
END;
/
しかし、私はどのように1のSQLを書くのですか? – daxue
愚かな方法ではない - それはあなたがそれを行う方法です - あなたは、他のテーブルとの唯一の方法でそれを置くことができる前に、IDを生成する必要がありますそれを行うには、レコードを挿入することです。 –