为什么合并数组时会出现数据转换错误(更新工作正常)?
// Data conversion error converting
// "'[5, 6]' (B: ""ARR"" INTEGER ARRAY)"
MERGE INTO B
USING VALUES (?) _v(arr)
ON B.id IN(1)
WHEN MATCHED THEN
UPDATE SET arr = _v.arr
WHEN NOT MATCHED THEN
INSERT (arr) VALUES (_v.arr)
// works
UPDATE B
SET arr = ?
WHERE B.id IN(1)
尽管我以相同的方式为更新和合并准备数组,但似乎数组像合并的文本字符串一样被接收:
preparedStatement.setArray(1, connection.createArrayOf("INT", Array(5, 6))
我是否需要在某处为数组添加强制转换或者我做错了什么?