过程如下:
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中执行的
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中执行的
你调用的时候需要dbms_output.put_line一下,来输出这两个值。
DECLARE
l_tres varchar2(20);
l_tempid varchar2(20);
PROCEDURE
SJ_CKSYS_EMP_OUT(TREV IN VARCHAR2, TRES OUT VARCHAR2, TEMPID OUT VARCHAR2) IS
C_EMP VARCHAR2(25);
BEGIN
SELECT 1 INTO TEMPID
FROM dual;
TRES:='OK';
EXCEPTION
WHEN OTHERS THEN
TRES:='EMP ERR';
END;
BEGIN
SJ_CKSYS_EMP_OUT('aa',l_tres,l_tempid);
dbms_output.put_line(l_tres||','||l_tempid);
END;因为没有你这个表,我改了一下,你自己改改!
DECLARE
BEGIN
SJ_CKSYS_EMP_OUT('aa',l_tres,l_tempid);
dbms_output.put_line(l_tres||','||l_tempid);
END;就OK了,因为我没权限建procedure,所以才写在了里面。。