我正在学习pl-sql ,当我在声明内声明varray时,什么都没发生,一切正常,但是当我尝试使用带有相同声明的create或replace语句时, VARRAY在声明语句之外给了我一个编译器错误,为什么会发生这种情况?特权的事情。?。
我尝试过: 更改varray的名称。 在AS中创建或替换IS。 更改循环中的第一个极限参考。
CREATE OR REPLACE TYPE t_agenda1 AS VARRAY(10) OF NUMBER(2) NOT NULL
DECLARE
v_contactos t_agenda1 := t_agenda1(1,2,3,4,5,6,7,8,9,10);
BEGIN
FOR i IN v_contactos.first..v_contactos.limit LOOP
dbms_output.put_line(v_contactos(i));
END LOOP;
END;
我期望输出1..10数字。实际是ora:1003。