
Oracle 怎么指定我创建的存储过程创建在我定义的包下?
CREATEORREPLACEPACKAGEpk_duanxiaoASTYPEtypecurISREFCURSOR;procedureSelect_xiaoming(vb...
CREATE OR REPLACE PACKAGE pk_duanxiao AS
TYPE typecur IS REF CURSOR;
procedure Select_xiaoming(vbalanceid in integer,vbalancenam in VARCHAR2, p_xiaoming out typecur);
END pk_duanxiao;
这是我创建的包,声明了一个类似于为实现的方法的存储过程。
我要怎么指定我创建的存储过程创建在我定义的包(pk_duanxiao )下? 展开
TYPE typecur IS REF CURSOR;
procedure Select_xiaoming(vbalanceid in integer,vbalancenam in VARCHAR2, p_xiaoming out typecur);
END pk_duanxiao;
这是我创建的包,声明了一个类似于为实现的方法的存储过程。
我要怎么指定我创建的存储过程创建在我定义的包(pk_duanxiao )下? 展开
展开全部
如下例子,你在定义包体的时候,同时定义存储过程:
CREATE OR REPLACE PACKAGE BODY PACKXINEM8GL IS
PROCEDURE GL_CREATE_COMPANY_PARAMETER(UQCOMPANYID IN VARCHAR2,
STRDATE IN VARCHAR2,
UQACCOUNTSETID IN VARCHAR2,
STRISGMROLE IN VARCHAR2,
STRISFORCE IN VARCHAR2) IS
STRSQL VARCHAR2(5000);
COMPID VARCHAR2(50);
STRGPDATE VARCHAR2(50);
STRYEARMONTH VARCHAR2(50); --启用年月
CREATE OR REPLACE PACKAGE BODY PACKXINEM8GL IS
PROCEDURE GL_CREATE_COMPANY_PARAMETER(UQCOMPANYID IN VARCHAR2,
STRDATE IN VARCHAR2,
UQACCOUNTSETID IN VARCHAR2,
STRISGMROLE IN VARCHAR2,
STRISFORCE IN VARCHAR2) IS
STRSQL VARCHAR2(5000);
COMPID VARCHAR2(50);
STRGPDATE VARCHAR2(50);
STRYEARMONTH VARCHAR2(50); --启用年月
追问
你写的(CREATE OR REPLACE PACKAGE BODY PACKXINEM8GL IS
PROCEDURE GL_CREATE_COMPANY_PARAMETER)什么意思,哪个是包名,哪个是过程名?
BODY 是什么意思
而且我这里要定义一个游标,存储过程里面还有一个
out 参数 p_xiaoming out pk_duanxiao.typecur 现在怎么定义。
追答
包,分:包头和包体
你的那个是包头,相当于申明。
我给的例子是包体:
PACKAGE BODY PACKXINEM8GL: PACKXINEM8GL 是包名,应该与你包头中 定义的 包名一致
PROCEDURE GL_CREATE_COMPANY_PARAMETER: GL_CREATE_COMPANY_PARAMETER 是存储过程名,也和你包头中定义的一致
其他和单独的 存储过程完全一致。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询