-
在out参数中使用光标 ·申明包结构 包头(申明) 包体(实现) ·案例:查询某个部门中所有员工的所有信息 //ref(reference引用) cursor(光标) #包头 create or replace package mypackage as type empcursor is ref cursor; procedure queryEmpList(dno in number,empList out empcursor); end mypackage; #包体 create or replace package body mypackage as procedure queryEmpList(dno in number,empList out empcursor) as begin open empList for select * from emp where deptno=dno; end queryEmpList; end mypackage; ***********包体需要实现包头中声明的所有方法*********************查看全部
-
一般来讲,存储过程和存储函数的区别在于存储函数可以有一个返回值;而存储过程没有返回值。 存储过程和存储函数都可以有out参数和多个out参数 存储过程可以通过out参数来实现返回值查看全部
-
create or replace function queryempincome(eno in number) return number as --定义变量保存员工的薪水和奖金 psal emp.sal%type; pcomm emp.comm%type; begin --得到该员工的月薪和奖金 selcect sal,comm into psal,pcomm from emp where empno=eno; --直接返回年收入 return psal*12+pcomm; end;查看全部
-
超级用户给普通用户授权。 grant DEBUG CONNECT SESSION, DEBUG ANY PROCEDURE to user; 命令行登录 sqlplus / as sysdba show user [ 查看全文 ]查看全部
-
创建一个带参数的存储过程: --给指定的员工涨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? --注意: 一般不再存储过程或者存储函数中commit和rollback --打印 dbms_output.put_line('涨前:'||psa||'涨后:' ||(psal+100)); end;查看全部
-
数据库对象查看全部
-
一般不在存储过程和存储函数中提交/commit,需要保证事物的一致性查看全部
-
1111查看全部
-
1111查看全部
-
存储过程与存储函数的唯一区别就是是否有return子句,又因为有out输出参数,所以前者可以完全代替后者。但由于oracle升级时需要考虑到向下兼容的问题,所有依然保留有存储函数查看全部
-
包体。 包体中实现,包含存储过程查看全部
-
包头。 包头只负责声明: type empcursor is ref cursor ;声明empcursor为光标类型;查看全部
-
1213查看全部
-
在Java应用中访问存储函数与访问存储过程大同小异,对于输入参数要赋值(setObject(index,value)),对于返回值或输出参数要申明(registerOutParameter(index, OracleTypes.type))查看全部
-
12131查看全部
举报
0/150
提交
取消