oracle数据库

上传人:fgh****323 文档编号:246780196 上传时间:2024-10-16 格式:PPTX 页数:22 大小:342.80KB
返回 下载 相关 举报
oracle数据库_第1页
第1页 / 共22页
oracle数据库_第2页
第2页 / 共22页
oracle数据库_第3页
第3页 / 共22页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机科学与技术专业,定义存储过程,存储过程,是存储在服务器上的,Transact-SQL,语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性,SQL Server,中的存储过程与其他编程语言中的过程类似,它可以,包含执行数据库操作(包括调用其他过程)的编程语句,接受输入参数,向调用过程或批处理返回状态值,以表明成功或失败(以及失败原因),以输出参数的形式将多个值返回至调用过程或批处理,计算机科学与技术专业,存储过,程,程的优,点,点,存储过,程,程封装,了,了商务,逻,逻辑,,确,确保一,致,致的数,据,据访问,和,和修改。若规,则,则或策,略,略有变,化,化,则,只,只需要,修,修改服,务,务器上,的,的存储,过,过程,,所,所有的,客,客户端,就,就可以,直,直接使,用,用,屏蔽数,据,据库模,式,式的详,细,细资料。用户,不,不需要,访,访问底,层,层的数,据,据库和,数,数据库,内,内的对,象,象,提供了,安,安全性,机,机制。用户,可,可以被,赋,赋予执,行,行存储,过,过程的,权,权限,,而,而不必,在,在存储,过,过程引,用,用的所,有,有对象,上,上都有,权,权限,改善性,能,能。预编,译,译的Transact-SQL语句,,可,可以根,据,据条件,决,决定执,行,行哪一,部,部分,减少网,络,络通信,量,量。客户,端,端用一,条,条语句,调,调用存,储,储过程,,,,就可,以,以完成,可,可能需,要,要大量,语,语句才,能,能完成,的,的任务,,,,这样,减,减少了,客,客户端,和,和服务,器,器之间,的,的请求/回答包,计算机,科,科学与,技,技术专,业,业,存储过,程,程的初,始,始处理,项存入sysobjects和syscomments表,编译过,的,的执行,计,计划放入过,程,程缓存,编译,优化,创建,执行,(初次,或,或重新编,译,译),解析,计算机,科,科学与,技,技术专,业,业,存储过,程,程的后,续,续处理,若符合,下,下列条,件,件,则SQLServer使用在,内,内存中,的,的计划,来,来执行,随,随后的,查,查询,当前的,环,环境和,计,计划编,译,译时的,环,环境相,同,同。服,务,务器、,数,数据库,和,和连接,的,的设置,决,决定了,环,环境,存储过,程,程引用,的,的对象,不,不需要,名,名称解,析,析。若,被,被不同,用,用户拥,有,有的对,象,象具有,相,相同的,名,名字,,则,则需要,名,名称解,析,析。,一个执,行,行计划,产,产生后,,,,驻留,在,在过程,缓,缓存中,。,。仅当,需,需要空,间,间时,SQLServer将老的,、,、没用,的,的计划,移,移出缓,存,存,计算机,科,科学与,技,技术专,业,业,存储过,程,程的后,续,续处理,(,(续),检索到的执行计划,未用过的计划过时被清除,执行计划,执行上下文,SELECT*FROM,dbo.,memberWHEREmember_no=,?,连接,1,8082,连接,2,连接,3,24,1003,计算机,科,科学与,技,技术专,业,业,在存储,过,过程中,使,使用参,数,数,使用输,入,入参数,使用输,入,入参数,执,执行存,储,储过程,使用输,出,出参数,返,返回值,显式地,重,重新编,译,译存储,过,过程,计算机,科,科学与,技,技术专,业,业,使用输,入,入参数,输入参,数,数允许,传,传递信,息,息到存,储,储过程,内,内,在CREATEPROCEDURE中指定,参数名,数,数据,类,类型=默认值,USENorthwind,GO,CREATEPROC dbo.OverdueOrders2,Employee,_,_IDint,Order,_,_datedatetime,AS,SELECTCONVERT,(,(char(8),OrderDate,1)OrderDate,OrderID,CustomerID,EmployeeID,FROM Orders,WHEREEmployeeID=Employee,_,_IDandOrderDate=Order,_,_date,GO,计算机,科,科学与,技,技术专,业,业,使用输,入,入参数,执,执行存,储,储过程,通过参,数,数名传,递,递值(顺序无,所,所谓),通过位,置,置传递,参,参数(,顺,顺序保,持,持一致,),),EXECOverdueOrders2Employee,_,_ID=1,Order,_,_date=1996-7-17,EXECOverdueOrders21,1996-7-17,EXECOverdueOrders2Order,_,_date=1996-7-17,Employee,_,_ID=1,计算机,科,科学与,技,技术专,业,业,使用输,出,出参数,返,返回值,输出参,数,数:以OUTPUT关键字,指,指定的,变,变量,CREATEPROC proc1,Aint,Bint,RESULT intOUTPUT,AS,SET,RESULT,=,=,A,*,*B,GO,执行有,输,输出参,数,数的存,储,储过程,DECLARE,answer int,EXEC proc1 4,7,answerOUTPUT,SELECT,answerasANSWER,必须定,义,义一个,变,变量,,以接受,返,返回值,写上OUTPUT,才,可以接,收,收到返,回,回值,计算机,科,科学与,技,技术专,业,业,实例1:不带,参,参数的,存,存储过,程,程的创,建,建与执,行,行,输入代,码,码:,Createprochyproc1 as,Select,*,*from职工where工资 1800,执行代,码,码:,Execute hyproc1,在进行,实,实验时,请,请注意,各,各数据,库,库中的,同,同名表,和,和同名,存,存储过,程,程。,广西大,学,学信息,网,网络中,心,心 卢,豫,豫开,计算机,科,科学与,技,技术专,业,业,实例2:带有,输,输入参,数,数的存,储,储过程,的,的创建,与,与执行,代码:,Createprochyproc2,mingzint,maxgzintas,Select,*,*from职工where工资between mingzand,maxgz,执行:,Execute hyproc21500,2000,广西大,学,学信息,网,网络中,心,心 卢,豫,豫开,计算机,科,科学与,技,技术专,业,业,实例3:带有,输,输入、,输,输出参,数,数的存,储,储过程,的,的创建,与,与执行,Createprochyproc3,changkuhaovarchar(50),maxgzintoutput,avggzreal outputAs,Begin,Select,*,*from职工where仓库号=changkuhao,Select,maxgz=max(工资)from职工where仓库号=changkuhao,select,avggz=avg(工资)from职工where仓库号=changkuhao,end,广西大,学,学信息,网,网络中,心,心 卢,豫,豫开,计算机,科,科学与,技,技术专,业,业,实例3:带有,输,输入、,输,输出参,数,数的存,储,储过程,的,的创建,与,与执行,Declare x1int,x2 real,Execute hyproc3,wh1,x1 output,x2output,Select,x1 as wh1职工最,大,大工资,x2 as wh1职工平,均,均工资,计算机,科,科学与,技,技术专,业,业,实例4:任意,输,输入三,个,个数,,输,输出最,大,大数,Createproczfproc1,x1int,x2int,x3 int,Asbegin,Declare maxint,If,x1,x2,Set,max=,x1,Else,Set,max=,x2,if,x3,max,set,max=,x3,print,三个数,中,中最大,的,的数是,:,:+cast,(,(maxasvarchar(50),End,execute zfproc150,31,48,计算机,科,科学与,技,技术专,业,业,实例5:阶乘,之,之和(如:5!,+,+4!,+,+1),createproczfproc2,xint,as,begin,declare i int,cjint,sumint,select,i,=,=1,cj,=,=1,sum=0,while,i,=,=x,begin,set,cj=cj*,i,set,sum=,sum+cj,set,i,=,=i,+,+1,end,printcast(x as varchar,(,(50,),)+,阶乘之,和,和是:+cast,(,(sumasvarchar(50),end,execute zfproc25,计算机,科,科学与,技,技术专,业,业,实例6:登陆系,统,统存储,过,过程(P160),createproczfproc3,hyuser varchar,(,(50,),),hypwdvarchar(50),as,begin,declare msgvarchar(50),if,hyuser=hystu1,begin,if,hypwd,=,=111,set,msg=,用户名,与,与密码,正,正确,,成,成功登,录,录!,else,set,msg=,密码不,正,正确,,请,请重新,输,输入!,end,else if hyuser,=,=hystu2,广西大,学,学信息,网,网络中,心,心 卢,豫,豫开,计算机,科,科学与,技,技术专,业,业,实例6:登陆系,统,统存储,过,过程,begin,if,hypwd,=,=222,set,msg=,用户名,与,与密码,正,正确,,成,成功登,录,录!,else,set,msg=,密码不,正,正确,,请,请重新,输,输入!,end,else if hyuser,=,=hystu3,begin,if,hypwd,=,=333,set,msg=,用户名,与,与密码,成,成功登,录,录!,else,set,msg=,密码不,正,正确,,请,请重新,输,输入!,end,else,set,msg=,用户名,不,不正确,,,,请重,新,新输入,!,!,print,msg,end,计算机,科,科学与,技,技术专,业,业,实例7:带有,判,判断条,件,件插入,功,功能的,存,存储过,程,程,createproczfproc4,zghaovarchar(30),ckhao varchar,(,(30,),),snamevarchar(50),sex varchar,(,(10,),),gzint,as,begin,ifexists,(,(select*from职工where职工号=zghao),print,该职工,已,已经存,在,在,请,重,重新输,入,入职工,号,号!,else,begin,ifexists,(,(select*from仓库where仓库号=ckhao),begin,insertinto职工(职工号,仓库号,姓名,性别,工资)values(zghao,ckhao,sname,sex,gz),print,成功的,插,插入一,条,条记录,end,else,print,你输入,的,的仓库,号,号不合,法,法,请,重,重新输,入,入仓库,号,号!,end,End,广西大,学,学信息,网,网络中,心,心 卢,豫,豫开,计算机,科,科学与,技,技术专,业,业,执行过,程,程 实,例,例7,Execute zfproc4,zg1,wh1,张平,女,1350,Execute zfproc4,zg42,wh11,张平,女,1350,Execute zfproc4,zg42,wh1,张平,女,1350,计算机,科,科学与,技,技术专,业,业,实例8:带有,判,判断条,件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!