可能是一个愚蠢的问题。
当我运行查询时
DELETE FROM "ITEM"
WHERE "COUNIDAD" = '130' AND "COINGRES" = 1 AND "ITEM" = '0002' AND "COCAJA" = '001'
它返回错误
Conversion failed when converting the nvarchar value '130|' to data type smallint.
但是没有' 130 |'在你的查询中,你可以看到。
发生了什么事?
编辑:
COUNIDAD nvarchar(3), COINGRES smallint, ITEM nvarchar (5), COCAJA nvarchar(3)
以防万一
编辑2:
自查询以来特别奇怪:
SELECT * FROM "ITEM"
WHERE "COUNIDAD" = '130' AND "COINGRES" = 1 AND "ITEM" = '0002' AND "COCAJA" = '001'
返回我要删除的行
编辑3:
更新无效:/
答案 0 :(得分:1)
正如@Jason Whitish所说,数据库中已经创建了2个触发器(我不知道没有仇恨:S)。 我删除了它们并且过程有效。
谢谢你们!
答案 1 :(得分:0)
根据您的查询逻辑,只有在COINGRES
真的是字符串时才会出现这种情况。您可以通过比较为字符串来解决问题:
DELETE FROM "ITEM"
WHERE "COUNIDAD" = '130' AND "COINGRES" = '1' AND "ITEM" = '0002' AND "COCAJA" = '001';