首页 / ORACLE / oracle存储过程
oracle存储过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle存储过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1542字,纯文字阅读大概需要3分钟。
内容图文
在 ORACLE SERVER上建立存储过程,可以被多个应用程序调用,可以向存储过程传递参数,也可以向存储过程传回参数
创建存储过程语法 :
CREATE [OR REPLACE] PROCEDURE Procedure_name
[ (argment [ { IN | OUT | IN OUT } ] Type,
argment [ { IN | OUT | IN OUT } ] Type ]
{ IS | AS }
<类型.变量的说明>
BEGIN
<执行部分>
EXCEPTION
<可选的异常错误处理程序>
END;
例 :
1 CREATE OR REPLACE PROCEDURE DelEmp 2 (v_empno IN emp.empno%TYPE) 3AS 4No_result EXCEPTION; 5BEGIN 6DELETEFROM emp WHERE empno=v_empno; 7IF SQL%NOTFOUND THEN 8RAISE no_result; 9ENDIF; 10 DBMS_OUTPUT.PUT_LINE(‘编码为‘||v_empno||‘的员工已被除名!‘); 11EXCEPTION 12WHEN no_result THEN13 DBMS_OUTPUT.PUT_LINE(‘你需要的数据不存在!‘); 14WHEN OTHERS THEN15 DBMS_OUTPUT.PUT_LINE(SQLCODE||‘---‘||SQLERRM); 16END DelEmp;
调用存储过程
存储过程建立完成后,只要通过授权,用户就可以在SQLPLUS 、ORACLE开发工具或第三方开发工具中来调用运行。
ORACLE 使用EXECUTE 语句来实现对存储过程的调用:
EXEC[UTE] Procedure_name( parameter1, parameter2…)
例:
CREATE OR REPLACE PROCEDURE proc_demo (Dept_no NUMBER DEFAULT 10 , Sal_sum OUT NUMBER, Emp_count OUT NUMBER) ISBEGINSELECTSUM(sal), COUNT(*) INTO sal_sum, emp_count FROM emp WHERE deptno=dept_no; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(‘你需要的数据不存在!‘); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||‘---‘||SQLERRM); END proc_demo;
调用方法:
DECLARE V_num NUMBER ; V_sum NUMBER(8, 2); BEGIN Proc_demo(30, v_sum, v_num); DBMS_OUTPUT.PUT_LINE(‘30号部门工资总和:‘||v_sum||‘,人数:‘||v_num); Proc_demo(sal_sum => v_sum, emp_count => v_num); DBMS_OUTPUT.PUT_LINE(‘10号部门工资总和:‘||v_sum||‘,人数:‘||v_num); END;
删除过程
可以使用DROP语句删除过程:
DROP PROCEDURE proceduer_name;
原文:http://www.cnblogs.com/-maji/p/7255923.html
内容总结
以上是互联网集市为您收集整理的oracle存储过程全部内容,希望文章能够帮你解决oracle存储过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。