将KILL与声明的变量一起使用

JVC*_*JVC 11 t-sql sql-server

我正在尝试使用带有声明变量的KILL语句,但它给了我一个语法错误.无论如何不使用常量并以编程方式更改SPID?

例如:

DECLARE @SPID smallint
SET @SPID = 100
Kill @SPID
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这只是一个例子.我需要在带有游标的循环中运行kill以摆脱旧的持久用户连接.(不要问)

JNK*_*JNK 16

我认为你需要动态SQL.请在使用动态SQL做任何事情之前阅读此重要页面.

DECLARE @SPID smallint
DECLARE @SQL nvarchar(1000)

SET @SPID = 100

SET @SQL = 'KILL ' + CAST(@SPID as varchar(4))

EXEC (@SQL)
Run Code Online (Sandbox Code Playgroud)