sql - Search "int" in a database -
is possible search int type of value in whole database?
found similar topic goes on strings
declare @searchstr nvarchar(100)
set @searchstr = 'enter info here'
create table #results (columnname nvarchar(370), columnvalue nvarchar(3630))
set nocount on declare @tablename nvarchar(256), @columnname nvarchar(128), @searchstr2 nvarchar(110) set @tablename = '' set @searchstr2 = quotename('%' + @searchstr + '%','''') while @tablename not null begin set @columnname = '' set @tablename = ( select min(quotename(table_schema) + '.' + quotename(table_name)) information_schema.tables table_type = 'base table' , quotename(table_schema) + '.' + quotename(table_name) > @tablename , objectproperty( object_id( quotename(table_schema) + '.' + quotename(table_name) ), 'ismsshipped' ) = 0 ) while (@tablename not null) , (@columnname not null) begin set @columnname = ( select min(quotename(column_name)) information_schema.columns table_schema = parsename(@tablename, 2) , table_name = parsename(@tablename, 1) , data_type in ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') , quotename(column_name) > @columnname ) if @columnname not null begin insert #results exec ( 'select ''' + @tablename + '.' + @columnname + ''', left(' + @columnname + ', 3630) ' + @tablename + ' (nolock) ' + ' ' + @columnname + ' ' + @searchstr2 ) end end end select columnname, columnvalue #results
drop table #results
select object_name(c.object_id) tablename, c.name columnname sys.columns c bring together sys.types t on c.user_type_id=t.user_type_id t.name = 'int' --you can alter text other datatypes order c.object_id; go
sql
No comments:
Post a Comment