免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OraclePLSQL从入门到精通第5章 编写PL/SQL语言的可执行语句2019/12/21做什么都比什么也不做强2019/12/2做什么都比什么也不做强2目标?描述可执行部份(段)的重要性?正确地使用标识符?在可执行部份编写语句?描述块的嵌套规则?执行和测试一个PL/SQL块?使用编码约定2019/12/2做什么都比什么也不做强3PL/SQL块的语法和指南?语句可以连序跨越数行。 ?词法单位可由以下分割:?定界符(Delimiters)?标识符(Identifiers)?文字(Literals)?注释(Comments)2019/12/2做什么都比什么也不做强4标识符?可以包含最多30个字符?必须以一个字母开始?可以包含数字、美元号($)、下划线(_)、和字母?不能包含诸如连字符(-)、斜线(/)、和空格等字符?不应该与数据库的表或列同名?不应该是保留关键字2019/12/2做什么都比什么也不做强5PL/SQL块的语法和指南?文字(Literals)?字符和日期文字必须用单引号括起。 ?数字既可以是简单的数值,也可以是科学表示法所表示的数值。 ?在脚本文件中或像SQL*Plus的一些工具中,一个斜线(/)用来运行PL/SQL块。 v_pioneer:=潘金莲;2019/12/2做什么都比什么也不做强6注释程序代码?单行注释以两个减号(-)开始。 ?多行注释要放在/*和*/之间。 例:DECLARE v_annual_sal emp.sal%TYPE;-存放年薪的变量与emp表中sal列的定义相同BEGIN/*Compute theannual salarybased onthe monthlysalary inputfrom theuser*/v_annual_sal:=&p_monthly_sal*12;DBMS_OUTPUT.PUT_LINE(年薪是|v_annual_sal);-显示年薪END;-这是程序块的结束2019/12/2做什么都比什么也不做强7PL/SQL中的SQL函数?在过程化语句中可使用的:?单行数字?单行字符?数据类型转换?日期?Timestamp?GREATEST和LEAST?其它的函数?在过程化语句中不可使用的:?DECODE?分组函数(Group functions)与SQL中的相同2019/12/2做什么都比什么也不做强8PL/SQL中的SQL函数:例?为公司建立一个邮件发送清单?将雇员的名转换成小写v_mailing_address:=v_name|CHR (10)|v_address|CHR (10)|v_state|CHR (10)|v_zip;v_ename:=LOWER(v_ename);2019/12/2做什么都比什么也不做强9数据类型转换?将数据转换成相匹配的数据类型。 ?混合数据类型可能产生错误和影响效率。 ?转换函数:?TO_CHAR?TO_DATE?TO_NUMBER DECLARE v_date DATE:=TO_DATE(15-MAR-xx,DD-MON-YYYY);BEGIN.2019/12/2做什么都比什么也不做强10数据类型转换1.如果变量v_date被声明为日期数据类型,这条语句会产生编译错。 v_date:=March15,xx;v_date:=TO_DATE(March15,xx,Month DD,YYYY);2.使用TO_DATE转换函数,就可纠正该错误。 2019/12/2做什么都比什么也不做强11块嵌套与变量的作用域?只要允许可执行语句的地方,就可以进行PL/SQL块的嵌套。 ?一个嵌套块变成一个语句。 ?异常部份可以包含嵌套块。 ?一个标识符的作用域是可直接引用该标识符的一个程序单元的区域(块、子程序、或软件包)。 2019/12/2做什么都比什么也不做强12块嵌套与变量的作用域.dog BINARY_INTEGER;BEGIN.DECLARE catNUMBER;BEGIN cat:=dog;END;.END;Scope ofdog Scopeof cat例例:2019/12/2做什么都比什么也不做强13标识符的作用域在以下的情形下,在你可以引用的区域不需要任何限定一个标识符是可见的:?一个块可以向上看到包围它的块。 ?一个块不能向下看它所包围的块。 2019/12/2做什么都比什么也不做强14限定标识符?限定词可以是一个正在包围它的块的标号。 ?通过使用块的标号作为前缀来限定一个标识符。 DECLARE birthdate DATE;BEGIN DECLAREbirthdateDATE;BEGIN.mumdog.birthdate:=TO_DATE(07-JUL-xx,DD-MON-YYYY);END;.END;2019/12/2做什么都比什么也不做强15PL/SQL中的操作符?逻辑(Logical)?数学(Arithmetic)?串接(Concatenation)?控制操作顺序的括号?指数操作符(*)与与SQL中的相同2019/12/2做什么都比什么也不做强16例:?增加循环的记数器。 ?设置一个布尔标志的值。 ?验证一个雇员号中是否包含值。 PL/SQL中的操作符v_count:=v_count+1;v_equal:=(v_n1=v_n2);v_valid:=(v_empno ISNOT NULL);2019/12/2做什么都比什么也不做强17程序设计指南通过以下的措施使代码的维护更容易:?使用注释来将代码文档化?为代码的开发制定大小写规定?制定标识符和其它对象的命名习惯?通过缩进来增加易读性2019/12/2做什么都比什么也不做强18缩进程序代码为了清晰,缩进每一级的代码。 例:BEGIN IFF=0THEN M:=1;END IF;END;DE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年土地登记代理人之土地登记代理实务全真模拟考试试卷A卷含答案
- 射血分数保留的心力衰竭诊断与治疗中国专家共识 2025解读
- 胆囊黏液囊肿的护理
- 雨课堂学堂在线学堂云《财税法学(辽宁大学 )》单元测试考核答案
- 高考化学“3+2”模拟练试卷含答案(十)
- 2026年房地产经纪协理之房地产经纪操作实务考试题库附参考答案【b卷】
- 2026年网络预约出租汽车驾驶员从业资格考试题库含答案【a卷】
- 2026年投资项目管理师之投资建设项目组织考试题库200道及参考答案(新)
- 中国移动总部2026校园招聘备考题库附答案
- 2026年网络预约出租汽车驾驶员从业资格考试题库及1套参考答案
- 学堂在线 研究生学术与职业素养讲座 章节测试答案
- 应急预案与演练培训课件
- DG-TJ 08-2362-2021 综合杆设施技术标准
- 英国FBA超重标签
- TSG11-2020 锅炉安全技术规程
- 肩手综合征康复
- Opera、绿云、西软、中软酒店管理系统对比分析
- 医疗质量核心制度汇编
- 煤矿矿井废水处理设计方案
- 列管式换热器课程设计
- 标识标牌设计方案项目实施方案(DOC)
评论
0/150
提交评论