【发布时间】:2014-05-11 17:03:22
【问题描述】:
我需要使用 pl/sql 将 varchar 转换为数组,但是当我使用 SUBSTR 函数时,我收到此错误:
错误报告 - ORA-06550:第 12 行,第 3 列: PLS-00330:类型名称或子类型名称的无效使用 ORA-06550:第 12 行,第 3 列: PL/SQL:语句被忽略 06550. 00000 - “第 %s 行,第 %s 列:\n%s” *原因:通常是 PL/SQL 编译错误。
这是我的代码:
SET SERVEROUTPUT ON;
DECLARE
v_string varchar2(20) := 'hello';
type array_string is varray(5) of varchar2(10);
v_length number;
cnt number;
v_char char(1);
BEGIN
v_length := length(v_string);
while (cnt < v_length)
loop
v_char := SUBSTR(v_string, cnt, 1);
array_string(cnt) := v_char;
cnt := cnt + 1;
end loop;
END;
当我(部分)输入“SUBSTR”时,它会自动完成为 SUBSTR(SQLERRM, 1, 64) 所以它应该知道命令,对吧?
我做错了什么?我是 pl/sql 的新手
问候,
【问题讨论】: