• 搜索对象所在的位置.sql


    CREATE PROC sp_FindObject
    @objectname sysname,           --要查找的对象名
    @whereand  nvarchar(2000)=N'', --数据库的过滤条件
    @operator   nchar(2)=N'='      --查找对象的运算符
    AS
    SET NOCOUNT ON
    --保存搜索结果的临时表
    CREATE TABLE #(DatabaseName sysname,ObjectName sysname,Type sysname)

    --定义 sp_MSforeach_worker 检索数据使用的游标
    IF @whereand IS NULL SET @whereand=''
    EXEC('
     DECLARE hCForEach CURSOR GLOBAL
     FOR
     SELECT name FROM master.dbo.sysdatabases
     WHERE HAS_DBACCESS(name)=1 '+@whereand)
    DECLARE @sql nvarchar(4000)
    SET @sql=N'INSERT # SELECT N''?'',name,Type=CASE xtype
       WHEN N''C'' THEN N''CHECK约束''
       WHEN N''TF'' THEN N''表函数''
       WHEN N''D'' THEN N''默认值或DEFAULT约束''
       WHEN N''TR'' THEN N''触发器''
       WHEN N''F'' THEN N''FOREIGN KEY约束''
       WHEN N''U'' THEN N''用户表''
       WHEN N''L'' THEN N''日志''
       WHEN N''V'' THEN N''视图''
       WHEN N''FN'' THEN N''标量函数''
       WHEN N''X'' THEN N''扩展存储过程''
       WHEN N''IF'' THEN N''内嵌表函数''
       WHEN N''R'' THEN N''规则''
       WHEN N''P'' THEN N''存储过程''
       WHEN N''PK'' THEN N''PRIMARY KEY 约束''
       WHEN N''RF'' THEN N''复制筛选存储过程''
       WHEN N''UQ'' THEN N''UNIQUE约束''
       WHEN N''S'' THEN N''系统表''
       ELSE N''未知'' END
      FROM [?].dbo.sysobjects
      WHERE name '
     +CASE
      WHEN @operator IN('=','>','>=','!>','<','<=','!<','<>','!=')
      THEN @operator+QUOTENAME(@objectname,'''')
      WHEN @operator='IN'
      THEN @operator+N' IN('+QUOTENAME(@objectname,'''')+')'
      WHEN @operator IN('LIKE','%')
      THEN ' LIKE '+QUOTENAME(@objectname,'''')
      ELSE '='+QUOTENAME(@objectname,'''')
     END
    EXEC sp_MSforeach_worker @command1=@sql
    SELECT * FROM #

  • 相关阅读:
    github上删除一个项目或者reposity
    java中二维数组的复制克隆
    Ajax学习笔记【精心收藏】
    CSS学习笔记总结篇【精心收藏】
    细说ajax
    JS一秒区分clientX,offsetX,screenX,pageX之间关系
    HTML5 离线应用程序 接口实现离线数据缓存【精心收藏】
    HTML5 Video标签
    【知识分享】 Web页面中5种超酷的Hover效果
    HTML5 音频audio 和视频video实用基础教程
  • 原文地址:https://www.cnblogs.com/dushu/p/2532755.html
Copyright © 2020-2023  润新知