我想創建一個列出所有表的內容的過程,但是oracle告訴我該過程有編譯錯誤。我正在使用SQL plus。有任何想法嗎?程序創建問題
CREATE OR REPLACE procedure payrollproc
BEGIN
SELECT * FROM payroll;
END;
我想創建一個列出所有表的內容的過程,但是oracle告訴我該過程有編譯錯誤。我正在使用SQL plus。有任何想法嗎?程序創建問題
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語句,一個存儲過程是這樣的基本功能太多的工作。
你確實是對的,它是太多的工作,因爲你正在使用遊標遍歷行 –
SHOW ERR將顯示錯誤的行和列。加上你的代碼,就是不做任何事情。這是否只是爲了看看事情如何工作而編寫代碼的第一步,無所作爲的傳遞?你的代碼的最後一行的左列是否有/? –
是的,這段代碼只是顯示錶格的所有內容。另外,結尾後會插入a /; –
PLS-00103:出現符號「BEGIN」期待的 一個時執行以下操作: (;與AUTHID簇壓縮順序使用編譯 包裹外部確定性parallel_enable流水線 RESULT_CACHE 符號「是」被取代「BEGIN 「 –