PLS-00428: an INTO clause is expected in this SELECT statement
这意味着你需要一个INTO
接近,当你从PL/SQL发布裸SELECT
。
:d
更有建设性:您认为在您选择的结果会去在该代码片段?
create or replace procedure login_info
(username IN varchar2, password IN varchar2, result OUT number)
as
begin
select * from login;
end;
您必须以某种方式检索它以便通过PL/SQL代码进行处理。假设你有几行收集,你应该使用BULK COLLECT INTO
:
create or replace procedure login_info
(username IN varchar2, password IN varchar2, result OUT number)
as
type my_tbl_type IS TABLE OF login%ROWTYPE;
my_tbl my_tbl_type;
begin
select * BULK COLLECT INTO my_tbl from login;
-- do whatever you
-- need here
-- on `my_tbl`.
end;
最后一点,也许你在找一个明确的CURSOR
呢?你应该明确地看看PL/SQL 101: Working with Cursors。这是一个关于SELECT ... INTO ...
和CURSOR
操作的有趣讨论。