zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    JSP版LCX:端口转发神器 KPortTran
    使用 JavaScript 实现对 PDF 的全文索引
    伙伴分配器的一个极简实现
    java创建线程的三种方式及其对照
    【版本号公布】Jeecg-P3 1.0 公布,J2EE微服务框架(插件开发)
    linux c 获取当前执行进程总数
    C++入门学习——模板
    GSON学习笔记之初识GSON
    Python学习笔记_Python对象
    怎样在OTN站点高速找到asm包并下载 (Oracle RAC)
  • 原文地址:https://www.cnblogs.com/lds85930/p/827475.html
Copyright © 2011-2022 走看看