一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - sql server 2012 數據庫所有表里查找某字符串的方法

sql server 2012 數據庫所有表里查找某字符串的方法

2020-01-03 15:33MSSQL教程網 Sql Server

此TSQL語句是針對SQL Server 2012編寫。如果使用之前版本,需要對部分語句進行重寫。

代碼如下:


USE [數據庫名稱];

 --1.定義需要查找的關鍵字。在搜索中,使用模糊搜索:LIKE '%@key_find%'
 DECLARE @key_find NVARCHAR(MAX) = '123';--假設是找字符串"123"

 --2.用游標Cursor_Table,遍歷所有表
 DECLARE Cursor_Table CURSOR FOR
     SELECT name from sysobjects WHERE xtype = 'u' AND name <> 'dtproperties';
 OPEN Cursor_Table;
 DECLARE @tableName NVARCHAR(MAX);
 FETCH NEXT from Cursor_Table INTO @tableName;
 WHILE @@fetch_status = 0
 BEGIN
     DECLARE @tempSQLText NVARCHAR(MAX) = '';

     --3.在表中,用游標columnCursor,遍歷所有字段。注意,只遍歷字符串類型的字段(列)
     DECLARE columnCursor CURSOR FOR 
         SELECT Name FROM SysColumns WHERE ID = Object_Id( @tableName ) and
                                                                             ( 
                                                                                 xtype = 35 or --text
                                                                                 xtype = 99 or --ntext
                                                                                 xtype = 167 or --varchar
                                                                                 xtype = 175 or --char
                                                                                 xtype = 231 or --nvarchar
                                                                                 xtype = 239 or --nchar
                                                                                 xtype = 241 --xml
                                                                             )
     OPEN columnCursor;
     DECLARE @columnName NVARCHAR(MAX);
     FETCH NEXT from columnCursor INTO @columnName;
     WHILE @@fetch_status = 0
     BEGIN

         --4.在表的字段中,對每一行進行模糊搜索,并輸出找到的信息。
         DECLARE @DynamicSQLText NVARCHAR(MAX) = 'IF ( EXISTS ( SELECT * FROM [' + @tableName + '] WHERE [' + @columnName + '] LIKE ''%' + @key_find + '%'' ) ) BEGIN DECLARE @CurrentTableCount Bigint = ( SELECT COUNT(*) From [' + @tableName + '] ); PRINT ''Find : Table [' + @tableName + '], Column [' + @columnName + '], Row Count:'' + CAST( @CurrentTableCount AS NVARCHAR(MAX) ) + ''.'';  END';
         EXEC( @DynamicSQLText );
         FETCH NEXT from columnCursor INTO @columnName
     END
     exec(@tempSQLText);
     CLOSE columnCursor;
     DEALLOCATE columnCursor;
     FETCH NEXT from Cursor_Table INTO @tableName;
 END
 CLOSE Cursor_Table;
 DEALLOCATE Cursor_Table;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费观看a毛片一区二区不卡 | 日本三级成人中文字幕乱码 | 45分钟做受片免费观看 | 国产91青青成人a在线 | 97影院秋霞国产精品 | 日本免费高清在线 | 四虎院影永久在线观看 | 精精国产xxxx视频在线播放器 | 欧美成人福利视频 | 国产成人亚洲影视在线 | 大逼美女 | 国内自拍网红在线综合 | 成人在线免费播放 | 美女张开下身让男人桶 | 亚洲精品福利你懂 | 5g影院天天5g天天爽大陆 | 日本大学jalapsiki | 亚洲AVAV天堂AV在线网爱情 | 舔逼| 精品国产一级在线观看 | 91国语精品自产拍在线观看一 | 波多野结衣作品在线观看 | 性做久久久久久 | 国产私人影院 | 四虎影院网站 | 亚洲3dxxxx动漫xxx | 色啪久久婷婷综合激情 | 天天狠天天天天透在线 | 日本无吗免费一二区 | 国产亚洲精aa在线观看不卡 | www.色呦呦.com | 欧美亚洲国产一区二区三区 | 五月婷婷在线免费观看 | 99r8这里精品热视频免费看 | 亚洲福利天堂网福利在线观看 | 美女张开腿让男人桶的 视频 | 91大神第九部红酒气质女 | 小早川怜子视频在线观看 | 国产成人lu在线视频 | 99国产情在线视频 | 亚洲福利一区二区精品秒拍 |