我有一条使用EXECUTE IMMEDIATE
执行查询的PL/SQL语句。但是,我甚至很难弄清楚如何获取正在执行的查询的文本。我无法使用dbms_output
,因为查询超过255个字符。有没有办法让sqlplus回显传递给EXECUTE IMMEDIATE
的字符串
发布于 2009-11-06 01:00:11
您使用的是什么版本的Oracle ?在10g之前,DBMS_OUTPUT.PUT_LINE().
的默认行长度是255,我们可以在单个调用中显示1048个字符。从那时起,它就是32K。
或者,您应该考虑使用支持DBMS_DEBUG的集成开发环境。例如,SQL Developer就是这样做的,而且它不受Oracle的限制。Find out more。
发布于 2009-11-06 01:01:39
您可以尝试将一个分析器附加到数据库(老实说,我只为SqlServer这样做过)并运行该过程,因为分析器将显示对数据库进行的任何查询,您将能够在那里获得它并进行必要的调试。希望能有所帮助..。
发布于 2009-11-06 03:21:03
如何一次打印N个字符的大字符串。根据您的需要进行修改。
FOR i IN 0..10 LOOP
dbms_output.put_line(substr(my_very_long_string,i*100+1,100));
END LOOP;
https://stackoverflow.com/questions/1681984
复制相似问题