【问题标题】:DEFINE_EDITOR=vi in sql*plussql*plus 中的 DEFINE_EDITOR=vi
【发布时间】:2010-09-13 13:20:16
【问题描述】:

做完 DEFINE_EDITOR=vi 之后。我写了

SQL > edit sample.sql

默认情况下,它存储在 Jagan/Documents 中。但我希望将其存储在 Jagan/Documents/plsql 中。任何人都可以告诉如何做到这一点..

【问题讨论】:

  • 如果你只输入:`edit plsql/newsample.sql' 呢?

标签: sql oracle plsql sqlplus


【解决方案1】:

这很简单。这将在 /tmp 目录中打开一个新文件:

SQL> edit /tmp/sample.sql

【讨论】:

  • @Jagan - 好吧,我对其进行了测试,该解决方案对我有用。您收到错误消息还是什么?另外,哪个版本的数据库? SQL*Plus 客户端的版本? *nix 的风格和版本?
  • APC 的方法有效。如果失败,那是因为您的编辑命令错误,或者安全/权限限制。
【解决方案2】:

sqlplus 使用起始目录。我这样做:

$cd /home/Jagan/Documents/plsql;sqlplus

【讨论】:

    【解决方案3】:

    在 Windows 中,您可以通过 SQL Plus 快捷方式的“Starts In”属性或通过 SQLPATH 注册表项来指定脚本的默认位置。

    在 Unix 中,您将使用 ORACLE_PATH 环境变量。

    有关详细信息,请参阅SQL Plus docs

    【讨论】:

    • 导出 ORACLE_PATH=/home/Jagan/Documents/plsql。我把它放在 .bashrc 中。它仍然只在 Documents 中创建文件。
    • 恐怕我对 Unix 的了解不够多,无法提供进一步的帮助。您可以像这样将“plsql”添加到路径中:“edit plsql/sample.sql”
    • ORACLE_PATH 似乎只影响您可以从哪里运行和编辑现有文件,因此@sample.sql 将在ORACLE_PATH 指向之前的目录中查找sample.sql i> 查看当前目录;如果两者都存在相同的文件,它将使用ORACLE_PATH 下的文件。使用edit sample.sql 编辑现有文件与get sample.sql 一样。但是,如果您不提供路径,则使用 edit new.sqlsave new.sql 编辑或创建新文件总是会写入当前目录。 [甲骨文 10g/Solaris]。当然你也可以先cd $HOME/plsql
    【解决方案4】:

    我目前在 Windows 上,所以我不能 100% 确定这是否适用于 Unix,但它应该给你一个想法:在%PATH% 环境变量指向的目录中,我创建了文件sqlplus_edit.bat,内容如下:

    vi.exe c:\path\to\Jagan\Documents\PLSQL\%1
    

    然后,在SQL*Plus

    define _editor=sqlplus_edit
    

    这对我有用。

    【讨论】:

      猜你喜欢
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      相关资源
      最近更新 更多