我是Oracle的新手,并且遇到了从数组中删除值的问题。我试图:如果我有一个数组1,2,3,4我想删除2,一旦数据库已经处理此数组值,然后移动到3.Oracle删除数组中的值PL SQL
代码I'中号使用的是:
type test_rec is record (temp_id number,
pos1 number,
pos2 number,
pos3 number);
type test_array is table of test_rec index by binary_integer;
PROCEDURE pr_test (
parv_test IN test_array)
AS
BEGIN
FOR i in parv_test.first .. parv_test.last LOOP
IF parv_test(i).action_type = 'I' THEN
INSERT STATEMENT
parv_test.delete(i);
END IF;
END LOOP;
END pr_test ;
但是,我得到的错误:
PLS-00363: expression 'parv_test' cannot be used as an assignment target
有人能告诉我,我要去哪里错了吗?
非常感谢。
干杯
亚历
尝试更改参数定义:'parv_test IN OUT test_array' –
副本parv_test到本地参数,你不能修改输入参数 –
谢谢,这很好。全部排序现在 –