【问题标题】:Oracle SqlPlus Command Line: is there a way to concatenate set options?Oracle SqlPlus 命令行:有没有办法连接设置选项?
【发布时间】:2010-03-18 12:18:59
【问题描述】:

我每次使用Oracle SQLplus命令行程序时都需要设置一些SET选项,比如SET HEADING OFF之类的来美化我的结果。 我发现我总是必须单独输入每一行,所以设置不同的选项,这变得很烦人,因为我每天需要多次访问它。

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

SET HEADING OFF; SET LINESIZE 100;

返回错误

一种解决方案可能是将它们添加到控制脚本并创建一个 shell 别名,但我知道控制脚本执行然后退出并且不返回您对命令行的控制权。

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

【问题讨论】:

    标签: sqlplus oracleclient


    【解决方案1】:

    好的,回答我自己的问题:显然可以这样做:

    SET HEADING OFF LINESIZE 100 PAGESIZE 0 xxx xxx
    

    然后继续添加规则。

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

    【讨论】:

      【解决方案2】:

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

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

      例如,如果“format.sql”包含命令“set linesize 100”和“set pagesize 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
      

      【讨论】:

      • 我需要的只是设置选项,然后我手动执行查询,如果我将它们放在 sql 文件中并使用“@”,那么我将不会得到命令行来输入查询。
      • 真的吗?这对我来说一直很好用 - 只需从 SQL> 提示符运行“@”命令,当命令文件完成时你会留在 SQLPlus(我将在我的答案中编辑一个示例)
      • 太棒了,它有效,所以两者都有效:我的和你的,投票给你作为回答我的具体问题:) 谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多