|
15:26:44 SQL> declare
15:28:38 2 v_n1 varchar2(5000);
15:28:38 3 v_n2 varchar2(5000);
15:28:38 4 v_n varchar2(20000);
15:28:38 5 v_cnt number;
15:28:38 6 begin
15:28:38 7 v_n1 := rpad('a',2001,'*');
15:28:38 8 v_n2 := rpad('a',2001,'*');
15:28:38 9 v_n := v_n1||','||v_n2; --这个地方v_n长度是4003,执行是没有问题的,符合plsql运算规范15:28:38 10
15:28:38 11 select count(*) into v_cnt15:28:38 12 from table(str2varlist(v_n));
15:28:38 13 dbms_output.put_line(v_n);
15:28:38 14 end;
15:28:39 15 /
declare
*
ERROR at line 1:
ORA-01460: unimplemented or unreasonable conversion requested
ORA-06512: at line 11
15:28:40 SQL> declare
15:28:53 2 v_n1 varchar2(10000);
15:28:53 3 v_n2 varchar2(10000);
15:28:53 4 v_n varchar2(30000);
15:28:53 5 v_cnt number;
15:28:53 6 begin
15:28:53 7 v_n1 := rpad('a',1001,'*');
15:28:53 8 v_n2 := rpad('a',1001,'*');
15:28:53 9 v_n := v_n1||','||v_n2;
15:28:53 10
15:28:53 11 select count(*) into v_cnt
15:28:53 12 from table(str2varlist(v_n));
15:28:53 13 dbms_output.put_line(v_n);
15:28:53 14 end;
15:28:53 15 /
PL/SQL procedure successfully completed.
|