Oracle

PLS-00306 錯誤:如何找到錯誤的參數?

  • September 19, 2019

PLS-00306:呼叫“字元串”時參數的數量或類型錯誤

原因:當命名的子程序呼叫不能與該子程序名稱的任何聲明匹配時,會發生此錯誤。子程序名稱可能拼寫錯誤,參數可能具有錯誤的數據類型,聲明可能錯誤,或者聲明可能在塊結構中放置不正確。例如,如果使用拼寫錯誤的名稱或錯誤數據類型的參數呼叫內置平方根函式 SQRT,則會發生此錯誤。

行動:檢查子程序名稱的拼寫和聲明。還要確認它的呼叫是正確的,它的參數是正確的數據類型,如果它不是一個內置函式,它的聲明被正確地放置在塊結構中。

如何快速辨識錯誤的論點?

我有一個包含幾十個參數的儲存過程。有沒有一種簡單的方法來檢查使用的程序和定義的程序之間的差異?我不想逐行檢查它..

不,這裡真的沒有捷徑。按以下順序檢查事物:

  1. 檢查過程名稱。
  2. 檢查參數的數量。
  3. 檢查參數的類型。
  4. 檢查參數名稱。

引用自:https://dba.stackexchange.com/questions/6095