[SQL-SERVER] Déconnecter user d'une BD probleme de requête
Je développe une aplication qui lance le script SQL suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
CREATE PROC killuser
AS
BEGIN
Declare @T nvarchar(10)
declare Decon CURSOR FOR
select convert(varchar(4), spid)
from master..sysprocesses
where dbid = db_id('BASETEST')
and spid <> @@spid
Declare @spid as varchar(4);
OPEN Decon
FETCH NEXT FROM Decon
into @spid;
WHILE (@@FETCH_STATUS = 0)
begin
set @T = 'KILL '+ @spid
exec sp_executesql @T
FETCH NEXT FROM Decon
into @spid;
End
Close Decon
DEALLOCATE Decon;
End
GO |
Le problème c'est que lorsque que je l'execute la mise es page est différente, il n'y a pas de saut de ligne. L'instruction est en une seule ligne et il me génére une erreur. Le problème à l'air de provenir du " GO" lorsque je les place sur une ligne la commande se passe bien :
Code:
1 2 3 4
|
CREATE PROC killuser AS BEGIN Declare @T nvarchar(10) declare Decon CURSOR FOR select convert(varchar(4), spid) from master..sysprocesses where dbid = db_id('BASETEST') and spid <> @@spid Declare @spid as varchar(4); OPEN Decon FETCH NEXT FROM Decon into @spid; WHILE (@@FETCH_STATUS = 0) begin set @T = 'KILL '+ @spid exec sp_executesql @T FETCH NEXT FROM Decon into @spid; End Close Decon DEALLOCATE Decon; End
GO |
Mais existe il une autre solution ou une autre version du script sans le "GO" ???
Merci d'avance