将整数列表分配给@var

jus*_*eve 4 t-sql

我可以:

declare @idOrder int
set @idOrder = 21319
Run Code Online (Sandbox Code Playgroud)

我想要:

declare @idOrder int
set @idOrder = (21319, 21320)
Run Code Online (Sandbox Code Playgroud)

用于'WHERE'子句使用IN运算符的一系列语句中

delete Orders
where idOrder in @idOrder
Run Code Online (Sandbox Code Playgroud)

代替

delete Orders
where idOrder in (21319, 21320)
Run Code Online (Sandbox Code Playgroud)

Dav*_*und 6

只要它是一个int,你不能这样做,因为那不是该数据类型的有效值.可能需要几个整数的数据类型是table

declare @idOrder table (id int)

insert into @idOrder values(21319)
insert into @idOrder values(21320)

delete from Orders where idOrder in (select id from @idOrder)
Run Code Online (Sandbox Code Playgroud)