我有一个用Oracle编写的过程,它接受一个Number类型的输入参数 . 在我的任务中,我想从另一个表中选择一个列值,并将该值作为输入参数提供给我的过程 .
类似下面的东西,
create or replace
PROCEDURE GETXML_JOB_SP
(
Select ID from Department AS inputVariable_ID IN;
)
AS
O_JDATA CLOB ;
o_JDXmlData xmltype;
o_JEXmlData xmltype;
O_JEDATA CLOB;
queryCtx dbms_xmlquery.ctxType;
BEGIN
O_JDATA := DBMS_XMLGEN.GETXML('SELECT * from Emp where JOB_DTLS_ID='||inputVariable_ID );
o_JDXmlData := xmltype(O_JDATA);
DBMS_OUTPUT.PUT_LINE(o_JDXmlData.getClobVal) ;
END GETXML_JOB_SP;
2 回答
您的参数定义不正确 . 您不能将select语句作为参数 .
我建议阅读PL / SQL上的Oracle Documentation或许多在线教程 .
嗨,在你的情况下你需要创建两个程序一个是“OldProgrammer”写的
以及作为输入参数调用此proc的其他过程是
你需要先打电话给上面的程序 .