第二章编写可执行的语句.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章编写可执行的语句

编写可执行的语句 本章的目的 完成本章之后,我们可以掌握以下的内容: 认识可执行部分的重用性 在可执行部分编写语句 嵌套块的规则 测试与执行一个 PL/SQL 块 标写代码的惯例 PL/SQL 块的语法与指导方针 一个语句可以扩越几行 标示符与文字可以用一个或几个空格隔开 PL/SQL 块的语法与指导方针 标示符 最多可以有30个字符 不能用保留字,除非用双引号包括起来 必须以字母开头 不要与数据库表的列名相同 PL/SQL 块的语法与指导方针 字符与日期必须包含在单引号里面. 数字可以用科学记数法. 注释 在单一行的注释前面加两个中横线 (- -). 把多行的注释包含在符号 /*和 */之间. 例子 PL/SQL中的SQL函数 可用: Single-row number Single-row character Datatype conversion Date 不可用: GREATEST LEAST DECODE Group functions PL/SQL 函数 例子 建立一个公司的邮件列表. 转换为小写. 数据类型转换 转换数据到不同的类型. 数据类型不同可能会引起错误或影响性能. 数据转换函数: TO_CHAR TO_DATE TO_NUMBER 数据类型转换 嵌套块与变量的范围 在可执行语句里面允许我们使用嵌套块 一个嵌套块变成一个语句. 例外处理部分也可以包含嵌套块. 对象的范围是指程序能够访问到它的区域. 嵌套块与变量的范围 一个标示符在它被定义的块及所有嵌套的块都是可见的: 如果一个块在本地找不到标示符,那末它会向上从它的父块的定义部分找 一个块无法向下从它的子块里面找标示符 嵌套块与变量的范围 ... x BINARY_INTEGER; BEGIN ... DECLARE y NUMBER; BEGIN ... END; ... END; PL/SQL里面的操作符 逻辑 算术 窜连(Concatenation) 圆扩号改变操作顺序 指数运算符 (**) PL/SQL里面的操作符 例子 增加循环索引的值. 设定布尔值. 校验一个变量是否为空. 使用绑定变量(Bind Variables) 如果要在 PL/SQL里面使用绑定变量, 必须在名称前面加冒号(:). 例子 编写代码的指导 让代码维护更为简单: 加上注释 用统一的大小写的约定 给标示符与其它对象一个统一的命名约定 透过缩行来提高程序的可读性 缩行 例子 总结 PL/SQL 块的结构: 嵌套块与编码的规则 PL/SQL程序的编写: 函数 数据类型的转换 操作符 绑定变量 约定与指导方针 17-* 2 v_ename := Henderson; ... v_sal NUMBER (9,2); BEGIN /* Compute the annual salary based on the monthly salary input from the user */ v_sal := v_sal * 12; END; -- This is the end of the transaction Same as in SQL } v_mailing_address := v_name||CHR(10)|| v_address||CHR(10)||v_state|| CHR(10)||v_zip; v_ename := LOWER(v_ename); BEGIN SELECT TO_CHAR(hiredate, MON. DD, YYYY) FROM emp; END; 这个语句将产生一个编译的错误. v_comment := USER||: ||SYSDATE; v_comment := USER||: ||TO_CHAR(SYSDATE); 用 TO_CHAR 函数改正这个错误. Scope of x Scope of y Example 与 SQL一样 } v_count := v_count + 1; v_equal := (v_n1 = v_n2); v_valid := (v_empno IS NOT NULL); DECLARE v_sal emp.sal%TYPE; BEGIN SELECT sal INTO v_sal FROM emp WHERE empno = 7369; :salary := v_sal; END; BEGIN IF x=0 THEN y=1; END IF; END; DEC

您可能关注的文档

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档