私は次のOracleの手順を持っています(質問をより一般的にするためにいくつかの詳細を取り出しました:
create or replace
procedure Insert_Row (foo IN VARCHAR2,
buzz in VARCHAR2,
t_in MyType)
is
l_cur_id number;
begin
insert into table1 (foo,buzz)
returning bar into l_cur_id;
BEGIN
FOR i IN 1..t_in.count LOOP
insert into table2 (bar, something)
values(l_cur_id,t_in(i));
commit;
END LOOP;
end;
end;
に行を挿入し、table1
挿入したばかりの行から ID を取得し、table1
それを使用して に挿入するだけtable2
です。
上記で使用しているタイプは次のとおりです。
create or replace
TYPE MyType AS VARRAY(200) OF VARCHAR2(50);
私の質問:どうすれば に挿入できbuzz
ますtable2
か? つまり、2 番目の値です。buzz
挿入する前にすでに値があるので、単純でなければならないと思います。
どうもありがとう。