Я новичок в 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
Может кто-нибудь сказать мне, где я неправильно?
Большое спасибо.
Приветствия
Alex
Попробуйте изменить определение параметра: 'parv_test IN OUT test_array' –
копии parv_test к локальному параметру, вы не можете изменить входной параметр –
Спасибо, оба отлично работали. Все отсортировано сейчас –