$parentId = select id from node where uin_title = 'Control';
insert into list (id) values ($parentId)
これをoracleで行います。表ノードから1つの値を選択し、それを変数に割り当て、その変数を別の表に挿入します。私はオラクルでそれを行う方法がわかりません。値を選択して変数に割り当てます
$parentId = select id from node where uin_title = 'Control';
insert into list (id) values ($parentId)
これをoracleで行います。表ノードから1つの値を選択し、それを変数に割り当て、その変数を別の表に挿入します。私はオラクルでそれを行う方法がわかりません。値を選択して変数に割り当てます
文で試してみてください:
insert into list (id) select id from node where uin_title = 'Control'
を開始するには良い場所です。
あなたは、単一の値を挿入する必要がある場合は、スカラー変数を使用することができます:あなたは1行以上を挿入する必要がある場合
declare
v number;
begin
select val into v
from someTable
where val != 999;
--
insert into someOtherTable(someField) values (v);
end;
これは動作しませんが。
declare
type tableOfNumber is table of number index by pls_integer;
v tableOfNumber;
begin
select val
bulk collect into v
from someTable
where val != 999;
--
forall i in v.first .. v.last
insert into someOtherTable(someField) values (v(i));
end;
/
最良の方法は、しかし、プレーンなSQLを使用することで、より読みやすく、PL/SQLの方法よりも高速です:
insert into someOtherTable (someField)
select val
from someTable
where val != 999;
このケースでは、コレクションを使用する必要があります