- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带参数的过程 参数的三种模式: IN 用于输入变量赋值 默认参数就是in,所以可以忽略不写 OUT 用于输出一个变量(潜台词:调用的时候,必须声明一个变量但是不能赋值,才能输出) IN OUT 先用于输入变量赋值,然后用于输出变量 演示带有in的参数 --输入ID,删除指定ID的所在行 create PROCEDURE p2(id in userinfo.uid1%type)--in可以不要 as begin delete from news where nid = id; end; 读取带有in参数的存储过程 --第一种方法:exec p2(2); --第二种方法:call p2(2); --第三种方法: begin p2(5); end; --第四种方法: declare id number :=1; begin p2(id); end; 演示in和out参数 --输入指定ID查找指定的用户信息的名字 --ID为输入参数,名字为输出参数 create procedure p3(id in userinfo.uid1%type, name out userinfo.uname%type) as BEGIN select uname into name from userinfo where uid1=id; END; 调用带有in和out的存储过程 DECLARE name userinfo.uname%type; BEGIN p3(2,name); DBMS_OUTPUT.PUT_LINE(名字是:||name); END; 演示in out参数 --给指定ID的员工的薪水加上指定数字,返回更新后的薪水 --很明显ID为in参数,money为in out参数 CREATE PROCEDURE p4(id1 number,money1 in out number) AS BEGIN --执行修改操作 update salary set money=money+money1 where id=id1; --将最新薪水保存在变量中 select money into money1 from salary where id=id1; END; 调用带in out参数的存储过程 declare money1 number:=100; begin p4(1,money1); DBMS_OUTPUT.PUT_LINE(更新后的money为:||money1); end; 过程 将过程的执行权限授予其他用户: 删除过程: SQL GRANT EXECUTE ON find_emp TO MARTIN; SQL GRANT EXECUTE ON swap TO PUBLIC; SQL DROP PROCEDURE find_emp; 子过程影响父过程 存储过程也可以像java方法一样,可以在存储过程中相互调用,例如在存储过程A中,调用存储过程B,或者通过调用存储过程A,获取存储过程A返回的值,再传给存储过程B。 这里不做重点讲解。 认证考试习题 1. 如果存储过程的参数类型为OUT,那么调用时传递的参数应该为 A 常量 B 表达式 C 变量 D 都可以 2.下列有关存储过程的特点说法错误的是(选一项) A 存储过程不能将值传回调用的主程序 B 存储过程是一个命名的模块 C 编译的存储过程存放在数据库中 D 一个存储过程可以调用另一个存储过程 认证考试习题 3.有关ORACLE存储过程说法正确的是(选两项) A 可以在查询语句中调用储存过程 B 存储过程是一次编译多次使用 C 存储过程通过传出参数的形式对外提供数据传递 D 存储过程中不能调用其他的存储过程 4.在Oracle中,关于子程序的描述不正确的是(选一项) A 子程序是已命名的PL/SQL块,可带参数并可在需要时随时调用 B 子程序可以具有声明部分、可执行部分和异常处理部分 C 子程序参数的模式只有IN和OUT两种模式 D 子程序可分为过程和函数两种类型 函数 4-1 函数是带有返回值的存储过程。 (潜台词:没返回值的就不是函数而是过程) 创建函数的语法: CREATE [OR REPLACE] FUNCTION 函数名称 [参数名 参数类型, 参数名 参数类型)] RETURN 返回类型 IS|AS [局部变量申明] BEGIN 执行语句; RETURN 返回值; [EXCEPTION 异常处理;] END; 函数 4-3 创建函数求两个数的和: 从 SQL 语句调用函数 CREATE O
您可能关注的文档
最近下载
- 工程水文及水利计算 小流域设计洪水计算、由暴雨资料推求设计洪水、由流量资料推求设计洪水、准备知识 设计洪水分析计算.doc VIP
- 2019款林肯航海家_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 财务管理培训之财务基础知识培训课件.pptx VIP
- 慢性阻塞性肺疾病PPT课件共29张PPT).pptx VIP
- 河北高职单招考试二类单招联考文化试题.docx VIP
- 宅经.pdf VIP
- 金川公司社招技能操作人员考试题.pdf
- 暴雨洪水计算表格.xls VIP
- 年产8万吨乙酸乙酯生产车间的设计论文.docx VIP
- 2026届高考语文复习默写专题训练---看图填诗句类默写.docx
文档评论(0)