Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

sql server 2008 - trova quali tabelle contengono testo specifico

per trovare le colonne della tabella usa:

SELECT table_name=sysobjects.name,
         column_name=syscolumns.name
    FROM sysobjects 
    JOIN syscolumns ON sysobjects.id = syscolumns.id
    JOIN systypes ON syscolumns.xtype=systypes.xtype
   WHERE sysobjects.xtype='U'
ORDER BY sysobjects.name,syscolumns.colid

se vuoi che i dati nelle tabelle utilizzino sql dinamico puoi fare qualcosa su queste righe:

Declare @Sql varChar(100)
Declare @Temp Table (Ind INT, TableName nvarchar(100))

Insert Into @Temp
Select Row_Number() Over(Order BY [Name]), [Name]
FROM
(
    Select [Name]
    from sys.tables
) AS D

Declare @index int
Set @index = 1
while @index < (Select Count(*) From @Temp)
begin
SET @SQL = ' Select * From ' + (Select TableName From @Temp Where Ind = @index)


exec (@SQL)
Set @index = @index + 1
End