[ORACLE] ORA-01704: 字串內容過長

狀況:

執行一個超長的UPDATE SQL語法,產生下列錯誤訊息:
SET CODE_VALUE='<CodeValue>
               *
ERROR 在行 2:
ORA-01704: 字串內容過長

說明:

丟給Oracle的SQL語法字串長度限制為4000個字元

處理:

將要更新的欄位值指定給一個變數,然後將這個變數指定給SQL語法

範例:

LET 變數 =  "超長的字串值"
UPDATE 表格 SET 欄位 = 變數 WHERE 條件

其它資訊:

ORA-01704: string literal too long
Cause: The string literal is longer than 4000 characters.
Action: Use a string literal of at most 4000 characters. Longer values may only be entered using bind variables.

一個回應 to “[ORACLE] ORA-01704: 字串內容過長”

  1. Robin Says:

    範例:———————————————————————————————–DECLARE strValue VARCHAR2(100) := \’XXXYYYXXX\’; BEGIN update AF_CODE_MAINTAIN SET CODE_VALUE = strValue where CODE_TYPE=\’SD_PAY\’ ; END;

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s


%d 位部落客按了讚: