sql*plus 中的 DEFINE_EDITOR=vi
Posted
技术标签:
【中文标题】sql*plus 中的 DEFINE_EDITOR=vi【英文标题】:DEFINE_EDITOR=vi in sql*plus 【发布时间】:2010-09-13 13:20:16 【问题描述】:做完 DEFINE_EDITOR=vi 之后。我写了
SQL > edit sample.sql
默认情况下,它存储在 Jagan/Documents 中。但我希望将其存储在 Jagan/Documents/plsql 中。任何人都可以告诉如何做到这一点..
【问题讨论】:
如果你只输入:`edit plsql/newsample.sql' 呢? 【参考方案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.sql
或 save 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
这对我有用。
【讨论】:
以上是关于sql*plus 中的 DEFINE_EDITOR=vi的主要内容,如果未能解决你的问题,请参考以下文章