资源描述:
《动态调用存储过程代码实例.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、这几天公司数据转换中用到了动态调用存储过程,自己做了一个最简单的练习,现看一下代码例子:代码大概描述:将要调用的包中的存储过程名全部存放在一张表中,循环取出,拼接成动态调用存储过程的调用语句,四个过程分别实现两个数的加、减、乘、除运算。定义包头:createorreplacepackagePKG_T_CYPis--Author:ADMINISTRATOR--Created:2012-5-229:22:16--Purpose:--Publictypedeclarations--typeis;--Publiccon
2、stantdeclarations--constant:=;--定义常量DEF_OKCONSTANTNUMBER:=1;DEF_ERRCONSTANTNUMBER:=-1;--Publicvariabledeclarations--;--定义变量ANUMBER:=10;BNUMBER:=11;--Publicfunctionandproceduredeclarations--定义存储过程,两个数相加PROCEDUREPrc_t_plus(PR
3、M_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--定义存储过程,两个数相减PROCEDUREPrc_t_minus(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--定义存储过程,两个数相乘PROCEDUREPr
4、c_t_multiply(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--定义存储过程,实现两个数相除PROCEDUREPrc_t_divide(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--此过程进行
5、测试PROCEDUREPrc_t_callpro(PRM_firstINVARCHAR2,PRM_secondINVARCHAR2,PRM_thirdOUTVARCHAR2,PRM_APPCODEOUTVARCHAR2,PRM_ERRORMSGOUTVARCHAR2);--function()return;endPKG_T_CYP;实现包体:createorreplacepackagebodyPKG_T_CYPis--Privatetypedeclaration
6、s--typeis;--Privateconstantdeclarations--constant:=;--Privatevariabledeclarations--;--Functionandprocedureimplementations/*function()returnis7、atatype>;begin;return();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、
10、PRM_third);PRM_APPCODE:=DEF_OK;PRM_ERRORMSG:='成