日期:2014-05-17  浏览次数:20924 次

请教一个oracle的存储过程调用问题
过程如下:
CREATE OR REPLACE PROCEDURE
SJ_CKSYS_EMP_OUT(TREV IN VARCHAR2, TRES OUT VARCHAR2, TEMPID OUT VARCHAR2) IS
C_EMP VARCHAR2(25);
BEGIN
   SELECT EMP_ID INTO TEMPID FROM SAJET.SYS_EMP
      WHERE EMP_NO = TREV AND ENABLED = 'Y' AND ROWNUM = 1;
   TRES:='OK';
EXCEPTION
   WHEN OTHERS THEN
      TRES:='EMP ERR';
END;
我的调用方法是execute SJ_CKSYS_EMP_OUT('36204'),但是报错了,正确的方法应该是怎样的,我是在toad中执行的

------解决方案--------------------
没这么复杂
DECLARE
BEGIN
SJ_CKSYS_EMP_OUT('aa',l_tres,l_tempid);
dbms_output.put_line(l_tres
------解决方案--------------------
','
------解决方案--------------------
l_tempid);
END;

就OK了,因为我没权限建procedure,所以才写在了里面。。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html