テーブルの複数のパーティションにわたって更新スクリプトを実行する必要があります。私は以下のようにそれのためのスクリプトを書いた:ORA-14108:パーティション拡張テーブル名構文が正しくありません
が、それは
を与えるORA-14108:不正なパーティション拡張表名の構文
原因:パーティションのみを指定することができるアクセスしますその名前を使ってユーザーがパーティション番号またはバインド変数を使用しようとしました。
処置:修正文がその名前
私はこのエラーを回避することができますどのように任意のアイデアを使用してパーティションを参照するには?
DECLARE
TYPE partition_names IS varray(1) OF varchar2(20);
curr_partition partition_names;
LENGTH integer;
BEGIN
curr_partition :=partition_names('SM_20090731');
LENGTH := curr_partition.count;
FOR i IN 1 .. LENGTH LOOP
dbms_output.put_line('Current Partition name is: '||curr_partition(i));
UPDATE TABLE_Y PARTITION (curr_partition(i))
SET PARTITION_KEY=TO_DATE('2017-08-21','YYYY-MM-DD')
WHERE ORDER_ID IN
(SELECT ORDER_ID
FROM TABLE_X);
END LOOP;
END;
/