我正在尝试创建一个将列出表的所有内容的过程,但是oracle告诉我该过程有编译错误。我正在运行SQL plus。有什么想法吗?
CREATE OR REPLACE procedure payrollproc
BEGIN
SELECT * FROM payroll;
END;
答案 0 :(得分:1)
CREATE OR REPLACE procedure payrollproc as
BEGIN
for c_rec in ( SELECT * FROM payroll)
Loop
dbms_output.put_line(c_rec.col1 || ' ' || c_rec.col2 || ' ' || ......);
End loop;
END;
/
但是,我建议只运行select语句,存储过程对于这样一个基本函数来说太多了。
答案 1 :(得分:0)
答案恰好在错误消息中:您在BEGIN之前错过了关键字。如果你在BEGIN之前输入单词IS,它将编译。有关详细信息,请参阅here。此外,您还需要一个光标来查看详细信息。祝你好运。