⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 介绍了数据库方面的基础知识
💻
字号:
作者:明一刀
email: mailpiggy@sina.com
日期:2000-07-11 09:33:21
如果你非要用触发器,不妨看看select * from sysprocesses的内容。可以给sysprocesses表加个触发器来完成你的要求。如果你用7.0,可以看看Microsoft提供的sp_who的过程!如下:
create procedure sp_who  --- 1995/11/28 15:48
       @loginame sysname = NULL --or 'active'
as

declare     @spidlow    int,
         @spidhigh    int,
         @spid        int,
         @sid        varbinary(85)

select     @spidlow    =     0
        ,@spidhigh    = 32767


if (    @loginame is not NULL
   AND    upper(@loginame) = 'ACTIVE'
   )
    begin

    select spid ,status
              ,loginame=rtrim(loginame)
          ,hostname ,blk=convert(char(5),blocked)
          ,dbname= db_name(dbid),cmd
    from  master.dbo.sysprocesses
    where spid >= @spidlow and spid <= @spidhigh AND
          upper(cmd) <> 'AWAITING COMMAND'

    return (0)
    end

if (@loginame is not NULL
   AND    upper(@loginame) <> 'ACTIVE'
   )
begin
    if (@loginame like '[0-9]%')    -- is a spid.
    begin
        select @spid = convert(int, @loginame)
        select spid, status,
               loginame=rtrim(loginame),
               hostname,blk = convert(char(5),blocked),
               dbname=db_name(dbid),
               cmd
        from  master.dbo.sysprocesses
        where spid = @spid
    end
    else
    begin
        select @sid = suser_sid(@loginame)
        if (@sid is null)
        begin
            raiserror(15007,-1,-1,@loginame)
            return (1)
        end        
        select spid, status,
               loginame=rtrim(loginame),
               hostname ,blk=convert(char(5),blocked),
               dbname=db_name(dbid),
               cmd
        from  master.dbo.sysprocesses
        where sid = @sid
    end
    return (0)
end


/* loginame arg is null */
select spid,
       status,
       loginame=rtrim(loginame),
       hostname,
       blk=convert(char(5),blocked),
       dbname=db_name(dbid),
       cmd
from  master.dbo.sysprocesses
where spid >= @spidlow and spid <= @spidhigh


return (0) -- sp_who

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -