• 1. iSQL*Plus
  • 2. 目标通过本章学习,您将可以: 在查询中使用变量。 熟悉 iSQL*Plus 环境。 使输出更便于理解。 创建和执行脚本。
  • 3. 变量I want to query different values.... salary = ? … … department_id = ? … ... last_name = ? ...User
  • 4. 变量使用iSQL*Plus 变量: 临时存储值 单个 (&) 两个 (&&) 定义命令 在SQL语句中改变变量的值。 动态修改开头和结尾。
  • 5. & 变量在变量名前加前缀 (&) 使用户输入值。SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num ;
  • 6. & 变量12101
  • 7. SELECT last_name, department_id, salary*12 FROM employees WHERE job_id = '&job_title' ;字符和日期型变量在子符和日期两端加单引号。
  • 8. 指定列名、表达式和文本使用变量可以提供下面的内容: WHERE 条件 ORDER BY 子句 列表达式 表名 整个 SELECT 语句
  • 9. SELECT employee_id, last_name, job_id, &column_name FROM employees WHERE &condition ORDER BY &order_column ;指定列名、表达式和文本
  • 10. 定义变量可以使用DEFINE 命令提前定义iSQL*Plus 变量。 DEFINE variable = value 创建一个字符型用户变量 使用 DEFINE 定义的变量名字中包含空格时,变量名应包含在单引号中。 定义的边令在会话级有效。
  • 11. DEFINE 和 UNDEFINE 命令定义命令在下列条件下失效: UNDEFINE 命令 退出 iSQL*Plus 可以重复使用 DEFINE 命令改变变量。DEFINE job_title = IT_PROG DEFINE job_title DEFINE JOB_TITLE = "IT_PROG" (CHAR)UNDEFINE job_title DEFINE job_title SP2-0135: symbol job_title is UNDEFINED
  • 12. SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num ;DEFINE 命令与& 变量使用 DEFINE 创建变量。 使用变量前缀 (&) 在 SQL 语句中引用变量。DEFINE employee_num = 200
  • 13. SELECT employee_id, last_name, job_id, &&column_name FROM employees ORDER BY &column_name;使用 (&&) 避免为同一变量重复赋值。…&& 变量
  • 14. old 3: WHERE employee_id = &employee_num new 3: WHERE employee_id = 200VERIFY 命令使用 VERIFY 在 iSQL*Plus 中显示变量被替代前和变量被替代后 的SQL语句。 SET VERIFY ON SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num;
  • 15. iSQL*Plus 环境使用SET 命令控制当前会话。 使用 SHOW 命令显示当前的设置。SET ECHO ONSHOW ECHO echo ON SET system_variable value
  • 16. SET 命令ARRAYSIZE {20 | n} FEEDBACK {6 | n |OFF | ON} HEADING {OFF | ON} LONG {80 | n}| ON | text}SET HEADING OFFSHOW HEADING HEADING OFF
  • 17. iSQL*Plus 格式命令COLUMN [column option] TTITLE [text | OFF | ON] BTITLE [text | OFF | ON] BREAK [ON report_element]
  • 18. COLUMN 命令控制列的输出: CLE[AR]: 清除列格式 HEA[DING] text: 设置列头 FOR[MAT] format: 改变列的输出格式 NOPRINT | PRINT NULLCOL[UMN] [{column|alias} [option]]
  • 19. COLUMN 命令创建列头:COLUMN last_name HEADING 'Employee|Name' COLUMN salary JUSTIFY LEFT FORMAT $99,990.00 COLUMN manager FORMAT 999999999 NULL 'No manager'COLUMN last_nameCOLUMN last_name CLEAR显示 LAST_NAME 列的当前格式。清除 LAST_NAME 列的当前格式设置
  • 20. COLUMN 格式Result 1234 001234 $1234 L1234 1234.00 1,234 Example 999999 099999 $9999 L9999 9999.99 9,999Element 9 0 $ L . , Description Single zero-suppression digit Enforces leading zero Floating dollar sign Local currency Position of decimal point Thousand separator
  • 21. BREAK 命令使用 BREAK 命令去重。 BREAK ON job_id
  • 22. TTITLE 和 BTITLE 命令显示报告头和报告尾 设置报告头。 摄制报告尾。TTI[TLE] [text|OFF|ON]TTITLE 'Salary|Report'BTITLE 'Confidential'
  • 23. TTITLE 和 BTITLE 命令显示报告头和报告尾。 设置报告头。 设置报告尾。TTI[TLE] [text|OFF|ON]TTITLE 'Salary|Report'BTITLE 'Confidential'
  • 24. 使用脚本创建报告1. 书写并测试 SQL SELECT 语句。 2. 保存 SELECT 语句到脚本文件。 3. 在编辑器中执行脚本。 4. 在 SELECT 语句前添加格式命令。 5. 在 SELECT 语句后添加终止符。
  • 25. 使用脚本创建报告6. 在 SELECT 后清除格式设置。 7. 保存脚本。 8. 在 iSQL*Plus 的文本框中加载脚本, 点击执行按钮运行脚本。
  • 26. 报告…
  • 27. 报告…
  • 28. 总结通过本章学习,您已经学会: 使用 iSQL*Plus 变量临时存储值。 使用 SET 命令控制当前 iSQL*Plus 环境。 使用 COLUMN 命令控制列的输出。 使用 BREAK 命令去重并将结果积分组。 使用 TTITLE 和 BTITLE 显示报告头和报告尾。
  • 29. Practice 7 OverviewThis practice covers the following topics: Creating a query to display values using substitution variables Starting a command file containing variables
  • 30. (本页无文本内容)
  • 31. (本页无文本内容)
  • 32. (本页无文本内容)