sql server 2012 数据库所有表里查找某字符串的方法

2020-07-10 08:13:47易采站长站整理


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

相关文章 大家在看