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 ⊙ )啊!追问
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了么?
还是不行么?