如何在Oracle SQL Developer中执行存储过程

时间:2014-03-30 01:36:44

标签: stored-procedures oracle-sqldeveloper

CREATE OR REPLACE PROCEDURE TEST_RATING 
(
  P_RID OUT NUMBER 
, P_STARS OUT NUMBER 
, P_DATE OUT DATE 
) AS 
BEGIN
SELECT RID, STARS, RATINGDATE 
INTO P_RID, P_STARS, P_DATE
FROM RATING;
END TEST_RATING;

1 个答案:

答案 0 :(得分:1)

这个程序似乎不太可能做你想要的。除非保证rating表中总是只有1行,否则在运行时会出现错误,即查询要么不返回任何行,要么返回多行。

如果您确保在rating中始终只有1行,则可以在匿名PL / SQL块中调用此过程

DECLARE
  l_rid   number;
  l_stars number;
  l_date  date;
BEGIN
  test_rating( l_rid,
               l_stars,
               l_date );
END;

当然,您可能希望对返回的数据执行某些操作,即使只是调用dbms_output.put_line将其写入dbms_output缓冲区。