查询某个数据库含有某个字符的存储过程
2009-04-10 13:46
281 查看
create table #myTable ( tablename varchar(50), tableNumname varchar(100) ) declare @delStr nvarchar(500) set @delStr='申通E物流' /*************这里是关键词*******************/ /****************************************/ /**********以下为操作实体************/ set nocount on declare @tableName nvarchar(100),@columnName nvarchar(100),@tbID int,@iRow int,@iResult int declare @sql nvarchar(500) set @iResult=0 declare cur cursor for select name,id from sysobjects where xtype='U'--查询出所有用户创建的表 --打开游标 open cur fetch next from cur into @tableName,@tbID --同时遍历这些表 while @@fetch_status=0 begin declare cur1 cursor for --xtype in (231,167,239,175) 为char,varchar,nchar,nvarchar类型 select name from syscolumns where xtype in (231,167,239,175) and id=@tbID --查询表内数据为这几个类型的列名 open cur1 --打开游标 fetch next from cur1 into @columnName --遍历查询结果 while @@fetch_status=0 begin --set @sql=' select '+@tableName+' from '+@tableName+' where '+@columnName+' like ''%'''+@delStr+'''%'' /* set @sql='update [' + @tableName + '] set ['+ @columnName +']= replace(['+@columnName+'],'''+@delStr+''','''') where ['+@columnName+'] like ''%'+@delStr+'%'''*/ --set @sql='select '''+@tableName+''' from ['+@tableName+'] where ['+@columnName+'] like ''%'+@delStr+'%''' set @sql='insert into #myTable select '''+@tableName+''','''+@columnName+''' from ['+@tableName+'] where ['+@columnName+'] like ''%'+@delStr+'%''' --select @sql exec sp_executesql @sql --查询出里面含有这个数据的表明 set @iRow=@@rowcount-- set @iResult=@iResult+@iRow if @iRow>0 begin--输出相关的数据 print 'Table: '+@tableName+', Column:'+@columnName+' has '+convert(varchar(10),@iRow)+' record(s);' end fetch next from cur1 into @columnName--把下一个@columnName 放到游标中 end close cur1--关闭游标 deallocate cur1--关闭游标 fetch next from cur into @tableName,@tbID--把下一个@tableName,@tbID放到游标中 end print 'The database has '+convert(varchar(10),@iResult)+' record(s) .' close cur deallocate cur set nocount off select * from #myTable drop table #myTable
相关文章推荐
- 查询某个数据库含有某个字符的存储过程
- 查询存储过程,数据库对象的创建历史
- 数据库操作 sqlserver查询存储过程+分页
- 查询数据库存储过程中包含某字符串的所有存储过程名称
- mysql 查询数据库中的存储过程与函数的语句
- sqlserver查询数据库中包含某个字段的所有表和所有存储过程
- 查找含有特定字符的存储过程
- 一个查询数据库所有表的存储过程(允许按表名模糊查询一级按显示数量进行分页)
- sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】
- mysql 查询数据库中的存储过程与函数的语句
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- 如何处理含有特殊字符的数据库查询语句
- 查询数据库中所有包含某文本的存储过程、视图和函数的SQL
- sqlserver查询数据库所有存储过程、触发器、索引信息
- sql语句查询包含某些字符的所有存储过程
- SQL Server查询数据库所有存储过程、触发器、索引信息SQL分享
- mysql存储过程利用游标查询每个数据库的所有表
- [转载]如何处理含有特殊字符的数据库查询语句
- mysql 查询数据库中的存储过程与函数的语句
- ORACLE 查询某些字符在存储过程中存在