《替代变量和sql-plus环境》由会员分享,可在线阅读,更多相关《替代变量和sql-plus环境(26页珍藏版)》请在金锄头文库上搜索。
1、 替代变量和SQL*Plus环境 编写需要输入变量的查询 定制 SQL*Plus 环境 提高输出的可读性 创建并执行一个脚本文件 保存用户定制要点交互式报表我想立即运行一个视图 .工资 = ? 部门 = ? 姓名 = ? .UserUser替代变量l使用SQL*Plus替代变量临时存储数 据 Enter value for employee_num: 73697369EMPNO ENAME SAL DEPTNO - - - -7369 SMITH 800 20SET VERIFY 命令l先后显示SQL*Plus用值替换替代变 量前后的命令文本SQL SET VERIFY ON SQL SELE
2、CTempno, ename, sal, deptno2 FROMemp3 WHEREempno = Enter value for employee_num: 7369 old 3: WHERE empno = Enter value for job_title: ANALYSTANALYSTENAME DEPTNO SAL*12 - - - SCOTT 20 36000 FORD 20 36000在运行时指定 列、表达式及文本l使用替代变量可以补充:WHERE条件ORDER BY 子句列表达式表名完整的 SELECT 语句在运行时指定 列、表达式及文本SQL SELECTempno, en
3、ame, job, Enter value for column_name: salsal Enter value for condition: salsal=3000=3000 Enter value for order_column: enameenameEMPNO ENAME JOB SAL - - - -7902 FORD ANALYST 30007839 KING PRESIDENT 50007788 SCOTT ANALYST 3000使用 Enter value for column_name: deptnodeptnoEMPNO ENAME JOB DEPTNO - - - -
4、7839 KING PRESIDENT 107782 CLARK MANAGER 107934 MILLER CLERK 10 . 14 rows selected.定义用户变量l您可以使用以下两个 SQL*Plus命令中 的一个预先定义用户变量: DEFINE: 创建一个字符型 用户变量 ACCEPT: 读取用户输入并 将其保存在变量中l如果在使用DEFINE时需要要到一个 空格,则必须将该空格包括在单引号 之内ACCEPT 命令l创建一个在接受用户输入时的专用提示 。l明确地定义一个NUMBER 或 DATE 类型 变量。l考虑到安全因素可以隐藏用户输入。ACCEPT variable d
5、atatype FORMAT formatPROMPT text HIDE使用 ACCEPT 命令ACCEPT dept PROMPT Provide the department name: SELECT * FROM dept WHERE dname = UPPER(定制 SQL*Plus 环境l使用 SETSET 命令设置当前环境变量l l使用使用SHOWSHOW 命令显示当前环境变 量SQL SET ECHO ONSQL SHOW ECHO echo ONecho ONSET system_variable value常用的SET命令变量列表 ARRAYSIZE ARRAYSIZE 2
6、020 | | n n COLSEP _ | COLSEP _ | texttext FEEDBACKFEEDBACK 6 6 | | n n |OFF | ON|OFF | ON HEADING OFF | ONHEADING OFF | ON LINESIZE LINESIZE 8080 | | n n LONG LONG 8080 | | n n PAGESIZE PAGESIZE 2424 | | n n PAUSE PAUSE OFFOFF | ON | | ON | texttext TERMOUT OFF | TERMOUT OFF | ONON 将定制的环境 保存在 login
7、.sql文件中 llogin.sql 文件保存了标准的环境设 置及其他 SQL*Plus命令,这些都 在登录SQL*Plus时自动加载l可以修改 login.sql 保存其它额外的 设置命令SQL*Plus 格式化命令 COLUMN COLUMN column optioncolumn option TTITLE TTITLE texttext | OFF | ON | OFF | ON BTITLE BTITLE texttext | OFF | ON | OFF | ON BREAK ON BREAK ON report_elementreport_element COLUMN 命令l控制
8、列的显示CLEAR: 清除所有列的 显示格式FORMAT format: 使用格 式模型改变列的显示HEADING text: 设置列 标题 JUSTIFY align: 调整列 标题的位置居左、居中还是居右COLUMN column|alias option使用 COLUMN 命令创建列标题显示列ENAME的当前设置清除列ENAME的当前设置COLUMN ename HEADING Employee|Name FORMAT A15 COLUMN sal JUSTIFY LEFT FORMAT $99,990.00 COLUMN mgr FORMAT 999999999 NULL No man
9、agerCOLUMN enameCOLUMN ename CLEARCOLUMN 格式模型结果N/A123401234 $1234 L1234 1234.001,234举例N/A999999 099999 $9999 L99999999.999,999元素An90$L.,描述设置显示宽度为 n个字符每个9表是一位数字,不显示前导零表示前导零美元符号本地货币符号小数点的位置千位分割符使用 BREAK 命令l命令格式为: BREAK on column|alias|row skip n|dup|page on on report 其中: page 表示遇到断点时产生新的一页 skip n 表示遇到
10、断点时跳跃n行 duplicate 显示重复值 并且断点可以作用于:列 、行、页、报表。l清除所有BREAK设置使用CLEAR 命令 : CLEAR BREAK 使用 TTITLE 和 BTITLE 命令显示标题和脚注TTITLE text|OFF|ONSQL TTITLE Salary|Report设置报表标题 设置报表脚注SQL BTITLE Confidential创建并运行一个脚本文件1. 创建 SQL SELECT 语句 . 2. 将该 SELECT语句保存 到脚本文件 3. 从编辑器中调用该文 件 4. 在SELECT语句前增加 格式化命令 5. 验证SELECT后的终结 符创建并运行一个脚本文件6. 在SELECT语句之后清 除格式化命令 7. 保存脚本文件. 8. 输入 “START 文件名” 运行脚本