From a3ce0210cd9d3dd21f012abb2fcd566780644683 Mon Sep 17 00:00:00 2001 From: Roger Rutishauser Date: Wed, 29 Jan 2025 17:04:38 +0100 Subject: [PATCH] update tsql --- t-sql/README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/t-sql/README.md b/t-sql/README.md index fade039..5d45285 100644 --- a/t-sql/README.md +++ b/t-sql/README.md @@ -76,6 +76,44 @@ SET @SQL = LEFT(@SQL, LEN(@SQL) - 10) EXEC sp_executesql @SQL ``` +### String Suche in einem bestimmten Feld über alle DB + +```sql +DECLARE @SearchStr NVARCHAR(100) = '%sts.%' -- Replace with your search string +DECLARE @SQL NVARCHAR(MAX) = '' +DECLARE @DatabaseName NVARCHAR(128) + +-- Cursor to loop through all databases +DECLARE db_cursor CURSOR FOR +SELECT name +FROM sys.databases +WHERE state_desc = 'ONLINE' + AND name NOT IN ('Hallengreen') -- Optional: Exclude system databases + +OPEN db_cursor +FETCH NEXT FROM db_cursor INTO @DatabaseName + +WHILE @@FETCH_STATUS = 0 +BEGIN + -- Create dynamic SQL for each database to search in the dbo.STM table + SET @SQL = 'USE ' + QUOTENAME(@DatabaseName) + ';' + CHAR(13) + CHAR(10) + + 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''dbo'' AND TABLE_NAME = ''STM'')' + CHAR(13) + CHAR(10) + + 'BEGIN' + CHAR(13) + CHAR(10) + + ' SELECT *' + CHAR(13) + CHAR(10) + + ' FROM dbo.STM' + CHAR(13) + CHAR(10) + + ' WHERE STM_VALUE LIKE ''' + @SearchStr + ''';' + CHAR(13) + CHAR(10) + + 'END;' + CHAR(13) + CHAR(10) + + -- Execute the dynamically created SQL + EXEC sp_executesql @SQL + + FETCH NEXT FROM db_cursor INTO @DatabaseName +END + +CLOSE db_cursor +DEALLOCATE db_cursor +``` + ## convert Unix Timestamp to date ``` sql