0
我有一个需求,我需要在表的多个分区上运行更新脚本。我写它的脚本如下: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;
/