create or replace procedure sp_test as
begin
CREATE TABLE T AS SELECT col1,col2 FROM t1;
FOR N IN (SELECT * FROM T) LOOP
UPDATE t1 SET t1.col1='value' where col2='value2';
END LOOP;
drop table T;
end;
/
t1表からt表にデータを選択して変更を適用し、それらの変更をt1表にマージする必要があります元のテーブル)を削除します。oracleのplsqlプロシージャ中に表を作成して選択できません
私はこのエラーを取得メートル:PLS-00103
[Global Temporary Table](https://oracle-base.com/articles/misc/temporary-テーブル)を見てみたいです –
DDLを直接使用することはできませんPL/SQLは 'EXECUTE IMMEDIATE 'を使用してテーブルを作成します。SELECT col1、col2 FROM t1'' –
また、ちょうどそれを指摘するために、単一引用符の' value 'と' value2 'は単なるテストですあなたが実際にやろうとしているものの例であり、 'T'テーブルの各' N 'から取った実際の値に置き換えます。 –