资源描述:
《动态调用存储过程代码实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、这几天公司数据转换中用到了动态调用存储过程,自己做了一个最简单的练习,现看一下代码例子:代码大概描述:将要调用的包中的存储过程名全部存放在一张表中,循环取出,拼接成动态调用存储过程的调用语句,四个过程分别实现两个数的加、减、乘、除运算。定义包头:createorreplacepackagePKG_T_CYPis--Author:ADMINISTRATOR--Created:2012-5-229:22:16--Purpose:--Publictypedeclarations--typeis;--Publicconstantd
2、eclarations--constant:=;--定义常量DEF_OKCONSTANTNUMBER:=1;DEF_ERRCONSTANTNUMBER:=-1;--Publicvariabledeclarations--;--定义变量ANUMBER:=10;BNUMBER:=11;--Publicfunctionandproceduredeclarations--定义存储过程,两个数相加PROCEDUREPrc_t_plus(PRM_firstINVAR
3、CHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--定义存储过程,两个数相减PROCEDUREPrc_t_minus(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--定义存储过程,两个数相乘PROCEDUREPrc_t_multiply(PRM_f
4、irstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--定义存储过程,实现两个数相除PROCEDUREPrc_t_divide(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--此过程进行测试PROCEDUREPrc_t_callpro
5、(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--function()return;endPKG_T_CYP;实现包体:createorreplacepackagebodyPKG_T_CYPis--Privatetypedeclarations--typeis;
6、--Privateconstantdeclarations--constant:=;--Privatevariabledeclarations--;--Functionandprocedureimplementations/*function()returnis;begin;return(7、sult>);end;*/--存储过程实现PROCEDUREPrc_t_plus(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2)ISsumallNUMBER;BEGINsumall:=PRM_first+PRM_second;PRM_third:=sumall;dbms_output.put_line('两个数的和是:'
8、
9、PRM_third);PRM_APPCODE:=DEF_OK;PRM_
10、ERRORMSG:='成