程序创建问题

时间:2012-12-08 03:34:28

标签: oracle plsql

我正在尝试创建一个将列出表的所有内容的过程,但是oracle告诉我该过程有编译错误。我正在运行SQL plus。有什么想法吗?

CREATE OR REPLACE procedure payrollproc
BEGIN
SELECT * FROM payroll;
END;

2 个答案:

答案 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。此外,您还需要一个光标来查看详细信息。祝你好运。