0

我想要什么:运行 .bat 文件以将视图脚本保存到文件中

我尝试了什么:我用 .bat 制作了一个 .bat 文件。

sqlplus blabla@blaip/bla @"C:\Documents and Settings\New user\Desktop\New Folder\sqlplus\some.sql"
pause

和一个 .sql 文件:

SET TERMOUT OFF; 
SPOOL "C:\Documents and Settings\New user\Desktop\New Folder\sqlplus\res.txt"
select  text from all_views where view_name LIKE 'V_NOK_ALL_2G_BTS';
SPOOL OFF
exit

问题是什么:好像文本域是备忘录,sqlplus只显示前6行

帮助!!!

4

2 回答 2

1

该列可能是 CLOB 或 LONG 数据类型。

尝试添加SET LONG 10000到 .sql 脚本的顶部。数量可以调整,但我相信是有限制的。


您可能还想增加您的线条大小SET LINESIZE 300(无论大小适合您)。

您还应该修剪尾随空白。

SET TRIMOUT ON从屏幕输出中修剪尾随空白。

SET TRIMSPOOL ON从假脱机输出中修剪尾随空白。

于 2013-10-21T19:45:45.523 回答
0

感谢 dbenham,但现在新的显示格式是:

text
---------------------------------------------------------------
drop view blabla;
create view blabla(
  col1 int,
  col2 int,
  col3 int,
as ( select col1, col2, co
text
---------------------------------------------------------------
l3 from table1
....

我已经实现了 SET PAGESIZE 10000 来制作分隔符

text
---------------------------------------------------------------

消失并为每个脚本显示一个连续的文本,但是

  • 碎片化!!!在上面的例子中 co\r\nl3 非常糟糕!:(

我注意到这个问题更多地与每行 80 个字符的命令行有关,并且 spool 将出现在提示符中的所有内容复制到 :( 包括行尾之间的空格(从结果)到实际 \r\n ; f*废话

于 2013-10-22T05:30:57.103 回答