0

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

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

2 回答 2

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 语句,存储过程对于这样一个基本功能来说工作量太大了。

于 2012-12-08T05:45:36.273 回答
0

错误消息中的答案是正确的:您在 BEGIN 之前缺少关键字。如果你在 BEGIN 之前加上 IS,它将编译。有关更多详细信息,请参见此处。此外,您将需要一个光标来查看详细信息。祝你好运。

于 2012-12-08T05:45:38.453 回答