2010-03-18 36 views
1

我需要在每次使用Oracle SQLplus命令行程序时设置一些SET选项,例如SET HEADING OFF和喜欢美化我的结果。 我发现我总是要分别输入每一行,所以设置不同的选项,这变得很烦人,因为我需要每天访问它很多次。Oracle SqlPlus命令行:有没有连接设置选项的方法?

我发现没有办法对不同SET命令用分号分隔,因为它不接受它:

SET HEADING OFF; SET LINESIZE 100; 

返回一个错误

一个解决方案,可以将其添加到控制脚本和创建一个shell别名,但我知道控制脚本执行,然后退出,并不会让你控制命令行。

那么,有人知道另一种解决方案?或者我错过了什么?

回答

1

将所有命令放入“.sql”文件(例如“format.sql”),然后在Sql * plus中使用“@”命令(例如“@format”)执行它们。

请注意,查找命令文件时默认为“.sql”后缀。

例如,如果“format.sql”包含的命令“设置LINESIZE 100”和“设置页面大小0”:

% sqlplus 

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 18 08:39:03 2010 
Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production 
SQL> show linesize 
linesize 80 
SQL> @format 
SQL> show linesize 
linesize 100 
SQL> select 1+1 from dual; 
    2 
+0

我需要的仅仅是设置选项,我执行手工查询,然后,如果我把它们放在一个sql文件中,并使用“@”,然后我不会得到一个命令行回到输入查询。 – OverLex 2010-03-18 12:32:04

+0

真的吗?这对我来说一直很好 - 只需在SQL>提示符下运行“@”命令,并且当命令文件完成时(SQL将在我的答案中编辑一个示例)时,您将停留在SQLPlus中 – 2010-03-18 12:43:00

+0

很棒,它可以工作,所以两者都可以作品:我和你的,投票你回答我的具体问题:)谢谢 – OverLex 2010-03-22 14:42:12

2

好吧,回答我的问题:apprently就可以做到这一点:

SET HEADING OFF LINESIZE 100 PAGESIZE 0 xxx xxx 

,并继续添加规则,一个与他们来了。

这是一个简单而有效的解决方案。