存储过程解题

发布时间:2014-10-22 13:58:04编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"存储过程解题",主要涉及到存储过程解题方面的内容,对于存储过程解题感兴趣的同学可以参考一下。

CREATE TABLE member_info( memberid NUMBER, memberlevel VARCHAR2(20), memberdis NUMBER) ; CREATE TABLE cost_info( memberid NUMBER, spend FLOAT, COST FLOAT) ; -- INSERT INTO member_info VALUES(1,'VIP',10); INSERT INTO member_info VALUES(2,'VIP',20); INSERT INTO member_info VALUES(3,'VIP',30); INSERT INTO member_info VALUES(4,'VIP',40); --创建函数 CREATE OR REPLACE FUNCTION function_mem(p_memeberid member_info.MEMBERID%TYPE,p_spend cost_info.SPEND%TYPE) return FLOAT IS v_cost cost_info.COST%TYPE; v_memberdis member_info.MEMBERDIS%TYPE; BEGIN SELECT memberdis INTO v_memberdis FROM member_info WHERE memberid = p_memeberid; v_cost := v_memberdis* p_spend; RETURN v_cost; EXCEPTION WHEN OTHERS THEN dbms_output.put_line(SQLERRM); END ; --创建procedure CREATE OR REPLACE PROCEDURE proc_mem(p_memeberid member_info.MEMBERID%TYPE,p_spend cost_info.SPEND%TYPE) IS v_cost cost_info.COST%TYPE; BEGIN -- SELECT function_mem(p_memeberid,p_spend) INTO v_cost FROM dual; v_cost:=function_mem(p_memeberid,p_spend); INSERT INTO cost_info VALUES(p_memeberid,p_spend,v_cost); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; dbms_output.put_line(SQLERRM); END;


上一篇:一天一点如何学习Linux
下一篇:2013年05月18日

相关文章

关键词: 存储过程解题

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款