【发布时间】:2015-05-14 15:14:45
【问题描述】:
我正在尝试将 Mgrstat 列中的信息更新为 3,并希望批量输入信息。因为我必须使用“=”并单独输入每个 AppID,但我宁愿一次输入多个。下面的查询显示了我使用“in”的尝试,它也不起作用。我得到“关键字'in'附近的语法不正确”。
有什么想法吗?谢谢大家!
declare @appid as int
declare @mgrstat as int
set @appid in ('10995',
'11201',
'9523',
'9558',
'9666',
'10069',
'10547',
'10548',
'9702',
'10698',
'9754',
'10161',
'10162',
'11240',
'11241',
'9553',
'10848',
'10667',
'9383',
'10709',
'9696',
'10053',
'10702')
set @mgrstat = 3
update [Compensation].[dbo].[dev_RPT_Approval]
set Mgr_Stat = @mgrstat
FROM [Compensation].[dbo].[dev_RPT_Approval]
where @appid = App_Id
select *
from [Compensation].[dbo].[dev_RPT_Approval]
where @appid = App_Id
【问题讨论】:
-
我没有看到任何查询分隔符,例如
; -
您对问题的措辞让我有点困惑,所以为了澄清一下,您是否试图将所有
mgr_stats 设置为 3,其中 app_id 在 @ 中的 appIds 列表中987654324@? -
这是 sql server 吗?它看起来是 sql servery
-
这是 SQL。我要做的是构建查询,这样我就不必单独输入每个 App_ID,因为我有很多。我所包含的并非包罗万象。
-
"SQL" 不是 RDBMS,很多 RDBMS 都使用 sql。是sql server、mysql、postgres、oracle吗?它看起来像 sql server,但您的问题没有被标记为这样(并且应该是)
标签: sql sql-update