ホテル管理システム
ogi
yesterday 1a1c8e71fcd14858f595029f089b2d4a00202b32
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
CREATE PROCEDURE SP_CloseDBConnect
    @Dname varchar(50) 
AS
BEGIN
    DECLARE @name varchar(50), @s varchar(1000)
 
    IF (@Dname = '')
    BEGIN
       DECLARE DataName CURSOR FOR SELECT name FROM sys.databases WHERE name not in ('master');
 
       OPEN DataName
       FETCH NEXT FROM DataName INTO @name
       WHILE (@@FETCH_STATUS = 0)
       BEGIN  
           DECLARE tb CURSOR local FOR SELECT N'kill   '+CAST(spid AS varchar) FROM master..sysprocesses WHERE dbid=db_id(@name)  
 
           OPEN tb    
           FETCH next FROM tb INTO @s  
           WHILE @@FETCH_STATUS=0  
           BEGIN  
               EXEC(@s)  
               FETCH NEXT FROM tb INTO @s  
           END  
           CLOSE tb  
           DEALLOCATE tb
                       
           FETCH NEXT FROM DataName INTO @name
       END
       CLOSE DataName
       DEALLOCATE DataName
    END
    ELSE
    BEGIN
       DECLARE tb CURSOR local FOR SELECT N'kill   '+CAST(spid AS varchar) FROM master..sysprocesses WHERE dbid=db_id(@Dname)  
 
       OPEN tb   
       FETCH next FROM tb INTO @s 
       WHILE @@FETCH_STATUS=0  
       BEGIN  
           EXEC(@s)  
           FETCH NEXT FROM tb INTO @s  
       END  
       CLOSE tb  
       DEALLOCATE tb
    END
END