Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

sql server 2008 - trouver quelles tables contiennent du texte spécifique

pour trouver les colonnes du tableau, utilisez :

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

si vous voulez des données dans les tables, utilisez sql dynamique, vous pouvez faire quelque chose sur ces lignes :

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