SQLPLUS如何使用编辑和保存一个sql脚本

Posted

技术标签:

【中文标题】SQLPLUS如何使用编辑和保存一个sql脚本【英文标题】:SQLPLUS how to use Edit and save a sql script 【发布时间】:2014-04-08 23:18:18 【问题描述】:

我正在学习数据库课程,我们正在使用 oracle sqlplus。我之前曾使用过许多不同的数据库管理系统和几种不同风格的 SQL,但我在做一些看起来非常简单的事情时遇到了麻烦。我正在尝试通过输入 sqlplus SQL> ED 来使用 sqlplus 中的编辑器,这可以工作,但是一旦我完成编写脚本,我就找不到任何方法来保存文件。我确信这非常简单,但是一旦您在编辑器中,就很难在网上找到任何告诉如何保存文件的内容。我只是想基本上从记事本复制并粘贴我的脚本,然后使用编辑器保存它,这样我就可以运行它来一次创建多个表。

【问题讨论】:

【参考方案1】:

您可以将其保存为script.sql,然后使用sqlplus @script.sql 运行它。

例如echo "SELECT * FROM table" > script.sql,然后是sqlplus user/pass@db @script.sql

【讨论】:

是的,但我的问题是在编辑器中输入后如何保存它?我已经尝试保存 test.sql,没有任何反应,所以我不确定如何从编辑器中保存 听起来您的环境已将vi 设置为默认编辑器,在这种情况下您想使用:wq 编写和退出。 另请注意,SQL 中没有编辑器之类的东西。它只是打开您的默认编辑器。这与在 SQL 之外执行 vi script.sql 相同。 谢谢,是的,默认编辑器似乎设置为 vi。有没有办法将其更改为更用户友好的编辑器? 没问题,请采纳答案。变量 _EDITOR 可用于设置首选文本编辑器,例如,将 vi 定义为 SQLPlus 编辑器:DEFINE _EDITOR = vi 或将 Metapad.exe 定义为 SQLPlus 编辑器:DEFINE _EDITOR = Metapad.exe 在您的用户配置文件 (login.sql) 或站点配置文件 ($ORACLE_HOME/sqlplus/admin/glogin.sql) 中包含类似上述的编辑器定义,以便在启动 SQL*Plus 时始终启用它。

以上是关于SQLPLUS如何使用编辑和保存一个sql脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何在shell中调SQLPLUS 执行SQL语句

如何将 SQLPlus 的结果存储到 shell 变量中

从 SQLPlus 运行 SQL 脚本失败时如何查看错误?

如何在 shell 脚本中运行 SQL 查询时获得类似 SQLPLUS 的输出

oracle 的sql*plus问题

如何在shell中调SQLPLUS 执行SQL语句