SQL*Plus 的隐藏功能与高阶用法
一 启动与会话初始化
sqlplus -S user/pass@ORCL @script.sql。二 安全交互与脚本参数
ACCEPT p PROMPT 'Pwd:' HIDE。&变量名 引用,实现参数化脚本:DEFINE owner=SCOTT;SELECT * FROM &owner.emp;。SET VER OFF、SET FEEDBACK OFF;输出到文件时用 SPOOL 捕获结果。三 输出格式与报表增强
SET LINESIZE 500 PAGESIZE 9999 TRIMSPOOL ON LONG 200 SERVEROUTPUT ON SIZE UNLIMITED,解决列折行、尾部空格、LOB 显示截断与 DBMS_OUTPUT 不可见等问题。COL NAME FORMAT a40 HEADING 'Employee|Name' JUSTIFY CENTER,实现多行标题、对齐、换行与截断策略。SET PAUSE '--- More ---' 与 SET PAGESIZE 控制每屏行数。四 命令行编辑与执行技巧
/ 或 RUN 执行当前缓冲区;LIST(简写 L)查看;SAVE file.sql 保存;EDIT(可设 DEFINE _EDITOR=vi)调用编辑器。CHANGE /old/new/(简写 C)、APPEND text(简写 A)、INPUT(简写 I)逐行修补 SQL,避免整段重写。exit。exit 回到 SQL*Plus。alias sqlplus='rlwrap sqlplus',显著改善交互效率。五 日志、HTML 与自动化
-M "HTML ON SPOOL ON",或在会话中 SET MARKUP HTML ON SPOOL ON,再 SPOOL report.html,即可生成带样式的查询结果页面。sqlplus -S /nolog @script.sql >run.log 2>&1,结合 SET ECHO OFF FEEDBACK OFF VER OFF 生成干净日志。glogin.sql 或脚本中 ALTER SESSION SET NLS_DATE_FORMAT='HH24:MI:SS',统一显示风格。@$ORACLE_HOME/sqlplus/admin/help/hlpbld.sql 与 helpus.sql,随后可用 HELP INDEX 查询内置帮助主题。