DROP PROCEDURE PRO_ADDMESSAGE; CREATE PROCEDURE PRO_ADDMESSAGE (USERID IN INT,MSG_TITLE IN VARCHAR2,MSG_CONTENT IN VARCHAR2,OUT_VALUE OUT NUMBER) AS VARREC NUMBER; BEGINIF MSG_TITLE IS NULL OR MSG_CONTENT IS NULL THEN OUT_VALUE:=-1; RETURN; END IF; SELECT COUNT(*) INTO VARREC FROM USERS WHERE USER_ID=USERID; IF VARREC=0 THEN OUT_VALUE:=-2; RETURN; END IF;SELECT MAX("msg_id") INTO VARREC FROM "PersonMsg"; INSERT INTO "PersonMsg" VALUES(VARREC,MSG_TITLE,MSG_CONTENT,SYSDATE,USERID);COMMIT; OUT_VALUE:=0; RETURN;EXCEPTION WHEN OTHERS THEN OUT_VALUE:=-3; RETURN ; END; 这是偶的过程!!在SqlPlus咋写得到偶的OUT的值? 麻烦大家了!分不够再加!
declare aa number; begin pro_addmessage(0,'kaka','kaka',aa); dbms_output.put_line(aa); end; 怎么不显示结果啊?
create or replace procedure aaa(result out varchar,result1 out varchar) is tmpint integer; tmpstr varchar(10); ...... begin --result:= --result1:= end; delphi中:存储过程名.paramsbyname('result').asstring;大致如此吧
CREATE PROCEDURE PRO_ADDMESSAGE
(USERID IN INT,MSG_TITLE IN VARCHAR2,MSG_CONTENT IN VARCHAR2,OUT_VALUE OUT NUMBER)
AS
VARREC NUMBER;
BEGINIF MSG_TITLE IS NULL OR MSG_CONTENT IS NULL THEN
OUT_VALUE:=-1;
RETURN;
END IF;
SELECT COUNT(*) INTO VARREC FROM USERS WHERE USER_ID=USERID;
IF VARREC=0 THEN
OUT_VALUE:=-2;
RETURN;
END IF;SELECT MAX("msg_id") INTO VARREC FROM "PersonMsg";
INSERT INTO "PersonMsg" VALUES(VARREC,MSG_TITLE,MSG_CONTENT,SYSDATE,USERID);COMMIT;
OUT_VALUE:=0;
RETURN;EXCEPTION
WHEN OTHERS THEN
OUT_VALUE:=-3;
RETURN ;
END;
这是偶的过程!!在SqlPlus咋写得到偶的OUT的值?
麻烦大家了!分不够再加!
begin
pro_addmessage(0,'kaka','kaka',aa);
dbms_output.put_line(aa);
end;
怎么不显示结果啊?
tmpint integer;
tmpstr varchar(10);
......
begin
--result:=
--result1:=
end;
delphi中:存储过程名.paramsbyname('result').asstring;大致如此吧