在更新语句中调用FUNCTION

时间:2012-05-23 01:50:13

标签: db2

我想加密表格中的字段。我有这个功能

CREATE FUNCTION baz.encrypt 
(
        p BIGINT
)
RETURNS CHAR(16)
....

现在我想更新所有要加密的行

UPDATE FOO SET BAR =  baz.encrypt(BAR)

不起作用,

UPDATE FOO f SET BAR =  SELECT baz.encrypt(BAR) FROM FOO where pk = f.pk

1 个答案:

答案 0 :(得分:0)

刚刚解决了。问题是我的函数需要一个BIGINT但是我的列中有alpha字符。所以CAST不起作用