0

テーブルのすべての内容を一覧表示するプロシージャを作成しようとしていますが、オラクルからプロシージャにコンパイル エラーがあると表示されます。私はSQLプラスで実行しています。何か案は?

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 に答える