zoukankan      html  css  js  c++  java
  • 根据表名字查询所在库和引用

    --------------------查询所有数据库
    DECLARE @sysname sysname; --数据库名称变量
    DECLARE @serachText NVARCHAR(30);
    SET @serachText='Dic_CityBase'
    DECLARE @Count INT;
    SET @Count = 0
    DECLARE My_Cursor CURSOR --定义游标
    FOR (select [name] from [master].[dbo].[sysdatabases]) --查出所有的数据库名称的集合放到游标中
    OPEN My_Cursor; --打开游标
    FETCH NEXT FROM My_Cursor INTO @sysname; --读取下一行/第一行数据并存放在变量值中
    WHILE @@FETCH_STATUS = 0 --是否可继续执行循环状态
    BEGIN
    --PRINT @sysname;
    DECLARE @sql nvarchar(max); --sql命令字符串
    SET @sql='USE ['+@sysname+'];';
    --Begin

    IF (CHARINDEX('T_PaoTui_Dic', @sysname)>0)
    BEGIN

    SET @sql+=' SELECT @RowNum=COUNT(1) from sysobjects o LEFT join syscomments s on o.id = s.id WHERE ( XType=''U'' OR XType=''p'') AND (text LIKE ''%'+@serachText+'%'' or ' + ' name LIKE ''%'+@serachText+'%'')'; --自定义的sql命令
    PRINT @sql;
    EXEC SP_EXECUTESQL @sql,N'@RowNum INT OUT',@Count OUTPUT
    --判断
    IF(@Count>0)
    BEGIN
    SELECT @sysname AS '数据库'
    set @sql =REPLACE(@sql,'@RowNum=COUNT(1)','*')
    EXEC SP_EXECUTESQL @sql
    end

    -- PRINT @sql;
    end


    --End
    --EXEC(@sql); --执行字符串sql

    FETCH NEXT FROM My_Cursor INTO @sysname; --读取下一行数据并存放在变量值中
    END
    CLOSE My_Cursor; --关闭游标
    DEALLOCATE My_Cursor; --释放游标
    GO

  • 相关阅读:
    c++异常处理
    循环数比较
    交错01串
    六一儿童节
    独立的小易
    牛客网上的最后一位
    微微信.NET 为什么採用文件系统而不是数据库?
    Ugly Numbers(1.5.8)
    xcode6-beta下载
    接收socket数据的粘包处理
  • 原文地址:https://www.cnblogs.com/PerfectBeauty/p/11763524.html
Copyright © 2011-2022 走看看