DEFINE_EDITOR = vi in sql * plus

问题描述:

做了DEFINE_EDITOR = vi之后。我写了DEFINE_EDITOR = vi in sql * plus

SQL > edit sample.sql 

这是默认存储在Jagan/Documents中。但是我想把它存储在Jagan/Documents/plsql中。任何人都可以告诉如何执行此操作..

+0

如果你只需要输入:'编辑PLSQL/newsample.sql”? – tvCa 2014-12-30 17:14:09

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

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

查看SQL Plus docs了解更多详情。

+0

export ORACLE_PATH =/home/Jagan/Documents/plsql。 我把它放在.bashrc中。它仍然只在文档中创建文件。 – Jagan 2010-09-13 13:51:27

+0

恐怕我不知道Unix有足够的帮助。您可以将“plsql”添加到如下所示的路径:“编辑plsql/sample.sql” – 2010-09-13 14:14:10

+0

“ORACLE_PATH”似乎只影响您可以从哪里运行和编辑现有文件,因此“@ sample.sql”将查找“ sample.sql',其中以前的目录'ORACLE_PATH'指向*之前*查看你的当前目录;如果两个文件都存在,它将使用'ORACLE_PATH'下的文件。使用'edit sample.sql'编辑现有文件的做法与'get sample.sql'一样。但是,如果你不给它一个路径,用'edit new.sql'或'save new.sql'编辑或创建一个新文件总会写入当前目录。 [Oracle 10g/Solaris]。你当然也可以'cd $ HOME/plsql'。 – 2010-09-15 13:52:40

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

SQL> edit /tmp/sample.sql 
+0

它没有工作。 – Jagan 2010-09-13 13:55:19

+0

@Jagan - 好的,我测试了它,并且该解决方案为我工作。你有没有收到错误信息或什么?还有,哪个版本的数据库? SQL * Plus客户端的版本? * nix的味道和版本? – APC 2010-09-13 14:59:15

+1

APC的方法是有效的。如果失败,这是因为您的编辑命令错误,或者安全/权限限制。 – 2013-07-09 17:01:33

我目前在Windows上,所以我不是100%肯定,如果这是要在Unix上运行,但它应该给你一个想法:在这是由%PATH%环境变量指向的目录中,我创建的文件sqlplus_edit.bat,内容如下:

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

然后,在SQL*Plus

define _editor=sqlplus_edit 

这对我有用。

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

$ CD /家庭/贾根/文件/ PLSQL; sqlplus中