PLS-00172: string literal too long

lnwxzyp發表於2008-11-26

今天寫一個表的整合儲存過程,由於這個表的欄位比較多,達到了762個欄位,加上最後一個插入操作是要對所有的欄位進行nvl(column_name,0)的操作,編譯之後報錯如下:

Compilation errors for PROCEDURE orcl.PR_CUST_CONSUME

Error: PLS-00172: string literal too long
Line: 208
Text: EXECUTE IMMEDIATE '

網上查詢了相關的資料發現如下解釋

Cause: The string literal was longer
than 32767 bytes.
Action: Use a string literal of at most
32767 bytes.

將報錯的那一段放入一個文字檔案中 檢視屬性:

34,967 位元組

超過了之多32767的限制.

沒有辦法只能分批對欄位進行nvl的轉換了 修改之後 32,056位元組 沒有超過限制,執行編譯:

compiled successfully

將修改前的程式碼放入word ,工具-字數統計:34508個字元,13頁


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12216142/viewspace-503387/,如需轉載,請註明出處,否則將追究法律責任。

相關文章