有没有好的SQLPLUS技巧和技巧?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

很多时候,我只需要一个与Oracle DB的快速连接,SQLPLUS在那里处理这个任务。

我想,当人们开始使用Oracle时,首先要做的就是安装SQLDeveloper。即便如此,如果您正在执行一些简单的查询,有时也不希望等待这些工具的加载。

启动shell时,我有一个脚本运行,因此我获得了更好的体验:

SET pagesize 2000
SET LONG 10000
SET linesize 1000
COLUMN last_name format a20
COLUMN total format 999,999,999
SET feedback ON
alter session set nls_date_format = 'yyyy-mm-dd hh:mi:ssPM';

我为这个例子调整了我的“列”设置,但基本上,这有助于数据适合屏幕。设置日期格式确实简化了对日期的处理。

当命令窗口在Windows中打开时,我设置了窗口布局属性,这样我就可以滚动、拥有更宽的窗口等等,并为以后的窗口保存设置。

提问于
用户回答回答于

我的login.sql脚本中有以下内容(SQLPlus自动运行):

1)将默认编辑器替换为我的选择之一:

define _editor = "C:\Program Files\TextPad 5\TextPad.exe"

2)使SQL提示符显示数据库名,以便我知道自己在哪里(感谢Tom Kyte提供了这一点):

COLUMN global_name new_value gname
SET TERMOUT OFF
SELECT LOWER(USER) || '@' || global_name||CHR(10)||'SQL> ' AS global_name
FROM   global_name;
SET SQLPROMPT '&gname'
SET TERMOUT ON

用户回答回答于

你可以用rlwrap若要向sqlplus添加读行支持,请执行以下操作。像这样运行sqlplus:

$ rlwrap -c sqlplus username@database

现在向上/向下滚动命令历史记录。使用ctrl-r向后搜索历史等等。

另外,将其添加到login.sql中,将行大小设置为终端的宽度:

HOST echo "set linesize" $(stty -a|head -n1|cut -f7 -d' '|cut -f1 -d';') > .tmp.sql
@.tmp.sql
HOST rm -f .tmp.sql

扫码关注云+社区