在工作上又遇到 Teradata 的問題了,這次是在 Teradata 新增資料的時候,遇到了 3521 的錯誤代碼,一樣請谷歌大神來解惑吧。
我們先來看看谷歌大神怎麼跟我們解釋 Teradata 3521 的錯誤。
In INSERT statements, the right-most side of the assignments must either be constants or expressions that contain only constants.
看起來果然是 INSERT 的問題,但是後面那句是什麼意思呢?其實就是在新增資料的時候,在產生或取得所有新增的資料欄位值的時候,都必須要是一般數值或資料,不能呼叫函式 (function) 來處理資料。
因為我們在新增資料時,有個欄位資料是要加密過的,所以呼叫 ENCRYPT(123, encrpt_key.key_val)。這樣的函式呼叫方式,是不能直接使用在 INSERT INTO … VALUES () 裡面,而要改用 INSERT INTO … SELECT 的方式才能成功。
相關連結:
[Teradata] 3521 Table reference(s) detected where constants expected.
沒有留言:
張貼留言