【发布时间】:2021-02-22 13:44:15
【问题描述】:
我在执行包含负值的存储过程时收到此错误。有什么方法可以转换或重置列值来修复它?
转换 varchar 值 '!AA24!' 时转换失败数据类型为 int。
代码:
DECLARE @PartnerId VARCHAR(10) = 'ITS';
DECLARE @DASHBOARD_ID VARCHAR(20) = '-1'
DECLARE @AGENT_ID INT
SELECT @AGENT_ID = IdAgent
FROM DGSDATA.dbo.AGENT WITH (NOLOCK)
WHERE agent = @PartnerId
IF (@DASHBOARD_ID = '-1' OR @DASHBOARD_ID = '-2' OR @DASHBOARD_ID = '-3')
UPDATE [WAR_DB].[dbo].[WAR_DGS_CORE_USER]
SET PrimaryLayoutType = @DASHBOARD_ID
WHERE @AGENT_ID = USER_ID
UPDATE [dbo].[WAR_GLOBAL_DASHBOARD]
SET IS_PRIMARY_DASHBOARD = 0
WHERE @AGENT_ID = AGENT_ID AND IS_PRIMARY_DASHBOARD = 1
【问题讨论】:
-
(1) 用您正在使用的数据库标记问题。 (2) 您应该能够更好地准确隔离错误发生的位置。
-
是一个sql server
标签: sql sql-server tsql stored-procedures type-conversion