テーブルのすべての内容を一覧表示するプロシージャを作成しようとしていますが、オラクルからプロシージャにコンパイル エラーがあると表示されます。私はSQLプラスで実行しています。何か案は?
CREATE OR REPLACE procedure payrollproc
BEGIN
SELECT * FROM payroll;
END;
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 ステートメントを実行することをお勧めします。ストアド プロシージャは、このような基本的な機能には負担が大きすぎます。
答えはエラー メッセージにあります。BEGIN の前にキーワードがありません。BEGIN の前に IS という単語を入れると、コンパイルされます。詳しくはこちらをご覧ください。また、詳細を表示するにはカーソルが必要です。幸運を祈ります。