我有一个更新语句,它更新了表中的很多字段。我得到错误
消息 8115,级别 16,状态 8,第 1 行将数字转换为数字数据类型的算术溢出错误。该语句已终止。
它没有显示究竟是哪个字段导致了问题。有没有办法从 SQL Server 获取这些信息?假设不能一个一个地手动检查每个字段。
我有一个更新语句,它更新了表中的很多字段。我得到错误
消息 8115,级别 16,状态 8,第 1 行将数字转换为数字数据类型的算术溢出错误。该语句已终止。
它没有显示究竟是哪个字段导致了问题。有没有办法从 SQL Server 获取这些信息?假设不能一个一个地手动检查每个字段。
您没有说您的列是否允许NULL
值。
CREATE TABLE T
(
D1 DECIMAL(2,2) NOT NULL,
D2 DECIMAL(2,2) NOT NULL
)
INSERT INTO T VALUES(0.99,0.99)
然后
UPDATE T SET D1=0.33, D2=2.0
提供了丰富的信息
将数字转换为数字数据类型的算术溢出错误。
但
SET ARITHABORT OFF;
SET ANSI_WARNINGS OFF;
UPDATE T SET D1=0.33, D2=2.0
提供更多信息
无法将值 NULL 插入到列“D2”、表“MyDb.dbo.T”中;列不允许空值。更新失败。
具体问题栏目告诉你。