diff --git a/t-sql/README.md b/t-sql/README.md index 28c30ac..61a45c4 100644 --- a/t-sql/README.md +++ b/t-sql/README.md @@ -82,6 +82,25 @@ SET @SQL = LEFT(@SQL, LEN(@SQL) - 10) EXEC sp_executesql @SQL ``` +### Int Suche über alle Tables einer DB + +``` +DECLARE @SearchInt INT = 222222 +DECLARE @SQL NVARCHAR(MAX) = '' + +SELECT @SQL = @SQL + 'SELECT ''' + TABLE_SCHEMA + '.' + TABLE_NAME + ''' AS TableName, ''' + + COLUMN_NAME + ''' AS ColumnName, ' + + 'CAST(' + QUOTENAME(COLUMN_NAME) + ' AS NVARCHAR(4000)) AS ColumnValue ' + + 'FROM ' + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) + ' ' + + 'WHERE ' + QUOTENAME(COLUMN_NAME) + ' = ' + CAST(@SearchInt AS NVARCHAR(20)) + ' UNION ALL ' +FROM INFORMATION_SCHEMA.COLUMNS +WHERE DATA_TYPE IN ('int', 'bigint', 'smallint', 'tinyint') + +SET @SQL = LEFT(@SQL, LEN(@SQL) - 10) + +EXEC sp_executesql @SQL +``` + ### String Suche in einem bestimmten Feld über alle DB ```sql