SELECT程序需要INSERT INTO吗?

时间:2016-11-15 17:05:53

标签: oracle stored-procedures plsql oracle12c

我有这个简单的SELECT程序:

create or replace PROCEDURE CST_FEEDBACK
(
  LineID IN Integer
) AS
BEGIN

SELECT 
    T1.*
--  ,   Mgr.UserName as UserName
FROM F_Feedback T1
--LEFT JOIN tblUsers Mgr
--ON T1.EmpID = Mgr.EmpID

WHERE
    T1.Line_ID = LineID

ORDER BY T1.Comments_TS DESC;

END CST_FEEDBACK;

我是Oracle n00b,我们在我们的商店中使用SQL Server但突然被迫切换到Oracle。我在尝试编译时收到此消息:

  

错误(7,1):PLS-00428:此SELECT中需要一个INTO子句   声明

任何人都可以告诉我为什么会这样,以及是否有某种方法来解决它?

1 个答案:

答案 0 :(得分:0)

如果你在PL / SQL中调用select,你通常会用程序中的结果来计算。你有两种方式:

Select ... into ... from ...

如果你想选择一行。

或者将游标声明为select并循环遍历它。

但我想,你想要一个存储过程,它将结果计算为表。

似乎你想做类似

的事情
SELECT * FROM MyProcedure(12345);

所以你可能应该看看oracle procedure returning table of custom data type record