【发布时间】:2017-01-02 09:11:08
【问题描述】:
我收到以下错误:
将数据类型 varchar 转换为 bigint 时出错。
在执行以下查询时:
declare @MaxSizeMB BIGINT
set @MaxSizeMB = 50
DECLARE @Query varchar(8000)=''
set @Query = 'UPDATE SPMC
SET SPMC.HasBlockedSize = 1, SPMC.HasIssues = 1
FROM PWI
INNER JOIN SI ON SI.Id = PWI.SourceItemId
INNER JOIN SPMC ON SPMC.SourceItemId = SI.Id
AND SI.ItemSize > ' + CAST(@MaxSizeMB AS bigint) + ' * 1024 * 1024 '
print (@Query)
【问题讨论】:
-
为什么要创建查询字符串而不是在实际查询中使用变量?
标签: sql-server tsql sql-update dynamic-sql