gpt4 book ai didi

sql - SQL Server 2008 上的 "Cannot specify decimal(5,2) data type (parameter 4) as a substitution parameter"错误

转载 作者:行者123 更新时间:2023-12-02 11:11:47 27 4
gpt4 key购买 nike

在 SQL Server 2008 中,我收到以下错误:

Cannot specify decimal(5,2) data type (parameter 4) as a substitution parameter.

刚刚查看了 table 上的触发器,看起来问题与此if有关

if @SumField7 <> 100
begin
rollback tran
raiserror ('...%d...', 16, 1, @SumField7)
end

最佳答案

这个问题很容易重现

declare @SumField7 decimal(5,2) = 123.45

raiserror ('...%d...', 16, 1, @SumField7)

您将 %d 指定为类型规范,represents signed integer但传递一个小数。也许 SQL Server 2000 中从未对此进行过类型检查。

看起来没有decimal占位符的语法,您需要传递一个字符串,如下所示。

declare @SumField7 decimal(5,2) = 123.45
declare @SumField7String varchar(7) = @SumField7

raiserror ('...%s...', 16, 1, @SumField7String)

关于sql - SQL Server 2008 上的 "Cannot specify decimal(5,2) data type (parameter 4) as a substitution parameter"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com