update tsql

This commit is contained in:
Roger Rutishauser 2025-01-29 17:04:38 +01:00
parent 8f0010a1ce
commit a3ce0210cd

View File

@ -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