1.在Navicat中新建一個SQL查詢窗口,輸入以下預存程序。
這段預存程序的意思是以一個整數為參數,輸入薪資最高的前幾個(參數值)員工的資料。
create or replace procedure my_p (v_n in number) is cursor csr is select * from emp order by sal DESC; i number :=0; begin for v_emp in csr loop i := i+1; dbms_output.put_line(v_emp.ENAME || '--' || v_emp.SAL); if i = v_n then exit; end if; end loop; end;
2.選擇以上程式碼--> 「執行已選取的」
#相關推薦:《Navicat for mysql使用圖文教程》
3.若出現以下訊息,則表示軟體沒有問題。而是我們(你自己)的程式碼出問題了。
那麼這時候需要去檢查我們(你自己)的程式碼,如dbms輸出時字段名稱連接字串的時候,有無雙豎線、該有的分號有沒有加上。一般到這一步,90%朋友的問題基本上都解決了。
4.如果實在不行,那麼只能試一試這個辦法:
在視窗的左側,點擊你的用戶,例如我的SCOTT用戶。
然後雙擊我們的EMP表(你自己需要操作的表),具體原理不太清楚,只是自己這麼弄一下之後,就不會出現編譯錯誤了,可能Navicat需要預先載入資料?
5.再去運行程式碼,這時候應該93.57%朋友的問題解決了。
tips:
a.網路上說的大小寫問題我試過了,沒有影響。但是不排除Navicat版本的特殊性。我這裡用的是Navicat12.1版本。
b.剩下的6.43%問題沒有解決,可能是其他問題,一般按照以上方法做過之後,基本上都會解決。
c.記得要把資料庫和使用者選擇了。這裡會導致權限等問題。
以上是navicat執行oracle函數腳本報錯24344怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!