1、用 iSQL*Plus 生成易读的输出,目标,完成本课后, 您应当能够执行下列操作:生成有替换变量的查询定制 iSQL*Plus 环境生成更易读的输出创建和执行脚本文件,替换变量,我想查询不同的值。,. salary = ? department_id = ? . last_name = ? .,用户,替换变量,iSQL*Plus 替换变量用于: 临时存储变量单 & 符号双 & 符号DEFINE 命令在 SQL 语句之间传递变量动态改变页眉和页脚,使用 & 替换变量,用一个带有前缀 & 的变量提示用户输入一个值,SELECTemployee_id, last_name, salary, dep
2、artment_idFROMemployeesWHEREemployee_id = ,使用 & 替换变量,101,SELECT last_name, department_id, salary*12FROM employeesWHERE job_id = ,替换变量的字符和数字值,日期和字符值放在单引号之间,指定列名、表达式和文本,用替换变量可以提供:WHERE 条件ORDER BY 子句列表达式表名输入 SELECT 语句,SELECTemployee_id, last_name, job_id, ,指定列名、表达式和文本,定义替换变量,可以用 iSQL*Plus DEFINE 命令预先定义
3、变量DEFINE variable = value 创建一个 CHAR 数据类型的用户变量如果需要预先定义一个带空格的变量,在使用 DEFINE 命令时,必须将变量放在单引号中一个已定义的变量在本会话期间有效,DEFINE 和 UNDEFINE 命令,一个变量保持其定义,直到:使用 UNDEFINE 命令清除它退出 iSQL*Plus可以用 DEFINE 命令检验所做的改变,DEFINE job_title = IT_PROGDEFINE job_titleDEFINE JOB_TITLE = IT_PROG (CHAR),UNDEFINE job_titleDEFINE job_titleS
4、P2-0135: symbol job_title is UNDEFINED,SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = ,使用带 & 替换变量的 DEFINE 命令,使用 DEFINE 命令创建替换变量在 SQL 语句中用一个带 & 前缀的变量来替换,DEFINE employee_num = 200,SELECT employee_id, last_name, job_id, ,如果你想要重复使用变量的值而不需要每次提示用户输入,可以使用 &,使用 & 替换变量,
5、old 3: WHERE employee_id = &employee_numnew 3: WHERE employee_id = 200,使用 VERIFY 命令,用 VERIFY 命令来交替显示,替换变量在 iSQL*Plus 执行替换之前和之后的值,SET VERIFY ONSELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = ,定制 iSQL*Plus 环境,用 SET 命令控制当前会话用 SHOW 命令检验所做的设置,SET ECHO ON,SHOW ECHOech
6、o ON,SET system_variable value,SET 命令变量,ARRAYSIZE 20 | nFEEDBACK 6 | n |OFF | ONHEADING OFF | ONLONG 80 | n| ON | text,SET HEADING OFF,SHOW HEADINGHEADING OFF,iSQL*Plus 格式化命令,COLUMN column optionTTITLE text | OFF | ONBTITLE text | OFF | ONBREAK ON report_element,COLUMN 命令,控制一个列的显示:CLEAR: 清除任何列格式HEAD
7、ING text: 设置列标题FORMAT format: 用一个格式化模板改变列的显示NOPRINT | PRINTNULL,COLUMN column|alias option,使用 COLUMN 命令,创建列标题,COLUMN last_name HEADING Employee|Name COLUMN salary JUSTIFY LEFT FORMAT $99,990.00COLUMN manager FORMAT 999999999 NULL No manager,COLUMN last_name,COLUMN last_name CLEAR,显示当前对 LAST_NAME 列的设
8、置,清除对 LAST_NAME 列的设置,COLUMN 格式化模板,结果1234001234 $1234 L1234 1234.001,234,举例999999 099999 $9999 L99999999.999,999,元素90$L.,说明单精度无前导零数字强制前导零浮动美圆符号本国货币小数点的位置千位分隔符,使用 BREAK 命令,用 BREAK 命令禁止重复值,BREAK ON job_id,使用 TTITLE 和 BTITLE 命令,显示页眉和页脚设置报告页眉设置报告页脚,TTITLE text|OFF|ON,TTITLE Salary|Report,BTITLE Confident
9、ial,Using the TTITLE and BTITLE Commands,Display headers and footers.Set the report header.Set the report footer.,TTITLE text|OFF|ON,TTITLE Salary|Report,BTITLE Confidential,创建脚本文件来运行一个报告,1. 创建并且测试 SQL SELECT 语句2.保存 SELECT 语句到脚本文件中3.装载脚本文件到一个编辑器中4.在 SELECT 语句的前加格式化命令5.检验跟随 SELECT 语句的终止字符,创建脚本文件来运行一个报告,6.在 SELECT 语句之后清除格式命令7.保存脚本文件8.装载脚本文件到 iSQL*Plus 的文本窗口中,单击执行按钮,报表样子,报表样子,小结,在本课中, 您应该已经学会如何:使用 iSQL*Plus 替换变量临时存储值使用 SET 命令控制当前的 iSQL*Plus 环境使用 COLUMN 命令控制列的显示使用 BREAK 命令禁止重复的值并且把行分成几个部分使用 TTITLE 和 BTITLE 命令显示页眉和页脚,练习 7 概览,本章练习包括下面的主题:创建一个查询以显示替换变量的值启动一个含有变量的命令文件,