最近工作需要修改几年之前的SQL,在修改时我发现N年前的SQL使用了几十个SQL拼接而成的,还有根据条件不同,拼接SQL也是有所不同的,
输出SQL超出字符长度的限制,这时候要找具体的SQL就比较困难,此时想到了ORACLE的dbms_output输出函数和substr截取函数进行循环获取,实现如下:
例如部分过程代码:
ls_sql11='' --具体的拼接的SQL
iPos:=1;
WHILE ipos<=length(ls_sql11) LOOP
dbms_output.put_line(substr(ls_sql11,ipos,1000));
DBMS_OUTPUT.PUT_LINE('-------------------');
iPos:=iPos+1000;
END LOOP;
注意:PL/SQL的DBMS输出的缓冲区大小尽量比较大,输出的SQL就打印这里面。
阅读(1867) | 评论(0) | 转发(0) |