Oracle获取存储过程输出参数返回值

CREATE OR REPLACE PROCEDURE sap_po_test(id IN NUMBER,
p_message OUT VARCHAR2) AS
mycount INT := 0;
BEGIN
SELECT COUNT(*)
INTO mycount
FROM 表
WHERE id = p_id;
IF mycount > 0 THEN
p_message := 'S';
ELSE
p_message := 'E';
END IF;
RETURN;
END;
这样写有没有什么问题,就是有一个输入参数为查询的ID ,一个输出参数:当查询到数据的时候返回S 没有查询到数据的时候返回E 。。。 但是调用的时候老报这个错粗

求助啊 就这么点分了 。。。

第1个回答  2014-10-08
CREATE OR REPLACE PROCEDURE sap_po_test(id IN NUMBER,
p_message OUT VARCHAR2) AS
mycount number(4) := 0;
BEGIN
SELECT COUNT(*)
INTO mycount
FROM 表
WHERE id = p_id;
IF mycount > 0 THEN
p_message := 'S';
ELSE
p_message := 'E';
END IF;
RETURN;
END;
( ⊙ o ⊙ )啊!追问

还是一样报错 。。。 表逗我好么

追答

WHERE id = p_id输入参数是id,p_id是什么?

WHERE p_id = id看看是这里出的问题不
还有 return在这里无作用

追问

噢 p_id是上面的输入参数id 这个没问题的 我改过的 。return我也去掉了

追答

你是把(id IN NUMBER,
p_message OUT VARCHAR2)的id改为p_id了么?

还是不行么?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网