2009-07-17 11 views
9

テーブルのトリガーによって挿入された主キーを持つテーブルがあります - トリガーはテーブルに対して作成したシーケンスから次のシーケンス番号を取得し、挿入時のキーの値。今度は、SQL Serverの@@ scope_identityを選択するのと同様に、その値を挿入プロシージャ(PL¥SQL)に戻すことができます。私は一日中グーグルグーグルをしていて、基本的には何も出てこない - 誰でもこれで成功した?Oracle - 新しく挿入されたキー値を返します

ありがとうございました

答えて

19

それがトリガーと動作しますが、RETURNING句はあなたが探しているものかもしれどうかは知りません。

INSERT INTO my_table (col_1, col_2) 
    VALUES ('foo', 'bar') 
    RETURNING pk_id INTO my_variable; 
+0

はい - これは興味深いように見え、私は試してみます。 –

+0

トリガー付きのチャンピオンのように働いた!私は絶対に毎回トリガーによって作成された新しいキー値を取得します。ありがとう。 –

+0

「キーワードがありません」というエラーが表示されましたが、PHPでこれを実行しようとしていました。 –

0

私はあなたがCallable Statementを探していると思います。あなたがJavaからそれを取得しようとしている場合はjavadocです。

+0

を我々が新たに作成されたキーを使用して出力パラメータを取り込むことができれば正常に動作することをPL \ SQL - 基本的には私が質問していることです。キーは挿入トリガーに移入されます - 挿入ストアード・プロシージャーではどのように取得しますか? –

0

なぜthe_sequence.currvalを返さないのですか?

+0

残念ながら、シーケンスは複数のテーブルで使用されています。 –

関連する問題