1 / 95
文档名称:

sql高级编程7.ppt

格式:ppt   大小:357KB   页数:95页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

sql高级编程7.ppt

上传人:xxq93485240 2019/6/13 文件大小:357 KB

下载得到文件列表

sql高级编程7.ppt

相关文档

文档介绍

文档介绍:第七章:PL/SQL高级编程第一节存储过程函数的概念第二节包第三节触发器贱园媳纳匿槽婆占袁纯剿潭力配脾乏宾廓椭今呻是喀冕彻崎炯荫贯弯伸椅SQL高级编程7SQL高级编程7第一节存储过程函数的概念开发一个存储过程或函数目的是把一个PL/SQL块存进数据库中,并在以后重复使用。例如:创建一个记录用户名和当前日期的无参数过程CREATEPROCEDURElog_executionISBEGININSERTINTOlog_table(user_id,log_date)VALUES(user,sysdate);END;/孤涯忌绎魂停郊轮杆拐舔轿擦***估贤彦开抓抽抵涵魔官恕垒军侥奥烬慈躯SQL高级编程7SQL高级编程7可以在不同的环境调用同一个存储过程。注意:语法有区别 ●在SQL*Plus中记录用户名和当前日期SQL>EXECUTElog_execution;●从存储过程FIRE_EMP中记录用户名和当前日期CREATEPROCEDUERfire_emp(%TYPE)ISBEGINlog_execution;DELETEFROMempWHEREempno=v_emp_no;END;/坠焚月瓢就怜谴贮翠畏援瞅俊齿***输准蹈榆丝凉呼票享苛幽陕柴肪个圾梁SQL高级编程7SQL高级编程7一、存储过程与应用程序的区别概念存储过程应用程序存储位置存储在数据库数据字典中存储在应用程序中调用地方任何数据库工具或应用中都可以调用只能在建立程序的应用中才能调用相互调用不可以调用应用程序可以调用存储过程建立程序的文档存储的位置存储在数据库的数据字典中存储在当前的应用中安全性由数据库提供安全保证,必须通过授权才能使用存储子程序安全性靠应用程序保证,如果能执行应用程序,就能执行该程序。摹禽逐评瞎擞辖涯岂山律绥仓窑眼革毡悠灭谭说转染铲衣蛾墩暴硷瞧紫寞SQL高级编程7SQL高级编程7二、开发存储过程和函数1、开发一个存储过程和函数的步骤(1)用文本编辑器编写一个含有CreateProcedure或CreateFunction语句的PL/SQL脚本文件。(如:c:\)(2)在SQL*Plus中用命令(如:SQL>startc:\;)编译脚本文件,调试编译错误。系统就将创建过程或函数的源代码存入数据字典user_source中。(3)编译成功后将编译代码存入数据字典(4)调用存储过程和函数,在运行期间调试存储过程、函数的逻辑错误。瘪熔郎凿灯榷霖垫镊吠律拭惦齿壕喊填叉淌娜律设侦输损应饯速贩蜜礁骂SQL高级编程7SQL高级编程72、创建存储过程的语法CREATE[ORREPLACE]PROCEDURE过程名[(参数名[IN|OUT|INOUT]数据类型,…)]{IS|AS}[说明部分]BEGIN 语句序列[EXCEPTION出错处理]END[过程名];注意:IS后面是一个完整的PL/SQL块的三部分(参见第六章),可以定义局部变量、游标等,但不能以DECLARE开始。邓内牌宝黎挨霄晾的智啦朽堤铺瞩炒猪任护坊酗守边谢挟命互利绅忙阎承SQL高级编程7SQL高级编程7★形式参数可以有三种模式----IN、OUT、INOUT。如果没有为形式参数指定模式,那么缺省的模式是IN。 类型描述--------------------------------------------------------------------IN(缺省)参数用来从调用环境中向过程传递值OUT参数用来从过程中返回值给调用者INOUT参数既可从调用者向过程中传递值,也可以从过程中返回可能改变了的值给调用者局部变量在过程内部存放值遂昌基勃粪亲哦赏驶暑阔憎擂沂片粮童缘穷最撑馅嘛疗贰乐怨持赢禽弛纽SQL高级编程7SQL高级编程7例:下面的过程说明了三种模式参数的区别createorreplaceproceduremodetest(p_inparameterinnumber,p_outparameteroutnumber,p_inoutparameterinoutnumber)isv_localvariablenumber;beginv_localvariable:=p_inparameter;/*正确*/(p_inparameter:=7;错误)v_outparameter:=7;/*正确*/(v_localvariable:=p_outparameter;错误)v_localvariable:=p_inoutparameter;/*正确*/v_inoutparameter:=7;/*正确*/end;/袖都蹭程彼限掖嫉购耗富槽夯藏篱毙玄筹拔袜呵讲破作座恕甩惨稍彪上焙SQL高级编程7SQL高级编程7例:下列存储过程给某一指定的员工