繁体   English   中英

在 DB2 中进行合并时的值不兼容

[英]Value not compatible when doing merge in DB2

我正在尝试根据来自 php 脚本中先前选择的参数执行合并,但出现错误“SQL0408 - 列、变量或参数 QUANTITY 的值不兼容”

在我的目标表中 QUANTITY 是数据类型 INTEGER

在我的选择查询中,我将值转换为 int(它已经在表中,我只是将所有内容转换为安全)

cast(MAX(orqtyc) as int) AS QUANTITY,

然后在我的 MERGE 中,我将转换为 INT

MERGE INTO HNORMANTEST.PLACEMENTS AS P
        USING(VALUES(

            CAST(:QUANTITY as INT),

        ))

使用这个参数

$params = [

    ":QUANTITY" => $row["QUANTITY"],

];

为什么会说不兼容?

你有没有通过直接输入值而不是通过参数来尝试它,看看它是否有效。

您可以尝试的另一件事是删除可能不需要的第一个铸件。 正如您所说 QUANTITY 已经是 INT 数据类型。

请尝试两种变化。 如果两个变体都给出相同的错误,则可能存在一些产品限制/错误。

您需要传递您尝试进一步查看的 DB2 版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM