欢迎来到天天文库
浏览记录
ID:49787346
大小:214.00 KB
页数:44页
时间:2020-03-01
《数据库培训-PLSQL.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库培训PL/SQL基础电信网通BU2007年05月1培训内容PL/SQL程序结构基本语法要素流程控制事务处理游标异常处理存储过程和函数程序包触发器2PL/SQL程序结构PL/SQL:过程化SQL语言PL/SQL块语法 [DECLARE]---declarationstatementsBEGIN---executablestatements[EXCEPTION]---exceptionstatementsEND3基本语法要素常量变量符合数据类型变量表达式函数ODS变量命名规范4常
2、量语句格式:常量名CONSTANT类型标识符[notnull]:=值;例:avc_acct_idCONSTANTVARCHAR2(5)NOTNULL:='AP001';5变量语句格式变量名类型标识符[notnull]:=值;例:avc_serv_idVARCHAR2(5)NOTNULL:=‘SV001';基本数据类型numberintchar()varchar()varchar2()longdateboolean:turefalsenull6复合数据类型变量使用type%定义变量avc_nodept.
3、deptno%type;定义记录类型变量使用rowtype%定义变量一维表类型变量多维表类型变量7表达式算术表达式逻辑表达式字符表达式关系表达式8函数数字函数字符函数转换函数日期函数常规函数9ODS变量命名规范createorreplaceprocedurep_tf_acct_income_mon(/*统计分析_收入情况(月)模块名称:p_tf_acct_income_mon生成周期:按月执行数据来源:FAS.TF_ACCT_ITEM数据目标:统计分析_收入情况(月)(TF_ACCT_INCOME_M
4、ON)*/avc_cycleidvarchar2,--数据周期avc_lastcycleidvarchar2,--上一次成功数据周期an_returnoutnumber,--返回值(0:表示成功-1:表示失败)an_syserroutnumber,--系统错误号an_recordoutnumber,--总记录数avc_syserrtextoutvarchar2--系统错误文本)isn_pointvarchar2(10);vc_sqlvarchar2(4000);begin.........endp_t
5、f_acct_income_mon;10流程控制条件控制循环控制11条件控制If条件1then语句段1;Elsif条件2thenif(条件4)then语句段2;endif;Else语句段3;Endif;12循环控制Loop循环While循环For循环13Loop循环Loop循环语句1If条件语句thenexit;else语句2endif;Endloop;14Loop循环Loop循环语句1语句2exitwhen条件语句;Endloop;15For循环for循环变量in[reverse]循环上届..下届循
6、环loop循环处理语句;Endloop;16事务处理Commit命令用setautoon[off];来打开,关闭自动提交Rollback命令Savepoint命令17游标游标的作用隐式游标显示游标游标属性引用游标/动态游标18游标的作用从数据库中提取出数据,以临时表的形式放在内存中。初始指向首记录,利用fetch移动指针,对游标中的数据进行处理,然后写到结果表中。19显示游标select语句上使用显式游标,明确能访问结果集FOR循环游标(常用的一种游标)转换函数fetch游标参数游标20FOR循环游标
7、定义游标定义游标变量使用for循环来使用这个游标前向游标只能往一个方向走效率很高declare--类型定义cursorccisselectempno,ename,job,salfromempwherejob='MANAGER';--定义一个游标变量ccreccc%rowtype;begin--for循环forccrecinccloopdbms_output.put_line(ccrec.empno
8、
9、'-'
10、
11、ccrec.ename
12、
13、'-'
14、
15、ccrec.job
16、
17、'-'
18、
19、ccrec.sal);e
20、ndloop;end;21fetch游标使用的时候必须要明确的打开和关闭declare--类型定义cursorccisselectempno,ename,job,salfromempwherejob='MANAGER';--定义一个游标变量ccreccc%rowtype;begin--打开游标opencc;--loop循环loop--提取一行数据到ccrec中fetchccintoccrec;--判断是否提取到值,没取到值就退出--取到值cc%notfo
此文档下载收益归作者所有