• TSQL是否有循环语句?类似C语言的for?如何查看有哪些用户连接到服务器上?如何强制其退出?


    我要删除一个登陆,直接用sp_droplogin的时候系统提示:  
      //登录   'dubin'   在一个或多个数据库中有别名或映射到了用户上。请除去这些用户或别名后再除去该登录。  
       
      于是我就想了个办法,依次查找每个数据库的sysusers,如果存在这个用户就先将他删除,全部都删除完了就可以删除该登陆了。  
      如此当然可以一个一个数据库的手动查找删除,但要是数据库多了就麻烦了。于是我想通过一个循环,先查   master   数据库中的   sysdatabase   中找出有哪些数据库,在依次循环查找是否有这个用户,有则删除之。如此则需用循环语句,但我不知道T-SQL的循环语句是怎么样的,请高手指教。  
      还有:  
      如何查看有哪些用户连接到服务器上?如何强制其退出?  
    declare   @username   sysname  
      set   @username='aa' --要删除的登录名      
      declare   @s   nvarchar(4000)  
      declare   tb   cursor   local   for  
      select   N'use   ['+replace(name,N']',N']]')  
      +N']  
      if   exists(select   *   from   sysusers   where   islogin=1   and   name=@username)  
      exec   sp_revokedbaccess   @name_in_db   =   @username'  
      from   master.dbo.sysdatabases  
      open   tb  
      fetch   tb   into   @s  
      while   @@fetch_status=0  
      begin  
      exec   sp_executesql   @s,N'@username   sysname',@username  
      fetch   tb   into   @s  
      end  
      close   tb  
      deallocate   tb  
      exec   sp_droplogin   @loginame   =   @username
  • 相关阅读:
    Python select示例
    Python paramiko
    Python SQLAlchemy之多对多
    Python SQLAlchemy
    Python 上下文关系
    Python rabbitmq
    Python mysql
    使用Word 2013向cnblog发布博文
    jquery lazyload延迟加载技术的实现原理分析_jquery
    jquery-懒加载技术(简称lazyload)
  • 原文地址:https://www.cnblogs.com/lds85930/p/827475.html
Copyright © 2020-2023  润新知