发布网友 发布时间:2022-05-03 08:16
共2个回答
懂视网 时间:2022-05-03 12:37
存储过程示例:
--给指定的员工涨100块钱的工资,并且打印涨前和涨后的薪水 create or replace procedure raiseSalary(eno in number) as --定义变量,保存涨前的薪水 psal emp.sal%type; begin --得到涨前的薪水 select sal into psal from emp where empno=eno; --涨100 update emp set sal=sal+100 where empno=eno; --要不要commit? --一般,不在存储过程或者存储函数中提交和回滚 dbms_output.put_line(‘涨前:‘||psal||‘ 涨后:‘||(psal+100)); end; /
输出模式的参数,用于输出值,会忽略传入的值。在子程序内部可以对其进行修改。 输出:子程序执行完毕后,out模式参数最终的值会赋值给调用时对应的<实参变量>。 注意:out模式参数的调用,必须通过变量。
out参数示例:
--查询某个员工的姓名 月薪和职位 /* 1. 查询某个员工的所有信息 ---> out参数太多 2. 查询某个部门中所有员工的所有信息 --> 返回集合 */ create or replace procedure queryempinfo(eno in number, pename out varchar2, psal out number, pjob out varchar2) as begin select ename,sal,empjob into pename,psal,pjob from emp where empno=eno; end; /
【赵强老师】Oracle存储过程中的out参数
标签:procedure date info begin set text osc 子程序 没有权限
热心网友 时间:2022-05-03 09:45
out是输出参数,不需要手动输入