Wpisanie do wszystkich baz GT parametrów aktualizacji

DECLARE @dbName NVARCHAR(MAX)
DECLARE @sql NVARCHAR(MAX)


DECLARE db_cursor CURSOR FOR
SELECT name 
FROM sys.databases
WHERE state = 0 -- Online
  AND name NOT IN ('master', 'tempdb', 'model', 'msdb') 

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @dbName

WHILE @@FETCH_STATUS = 0
BEGIN

    SET @sql = N'
    IF EXISTS (
        SELECT 1
        FROM [' + @dbName + '].sys.tables t
        INNER JOIN [' + @dbName + '].sys.schemas s ON t.schema_id = s.schema_id
        WHERE t.name = ''net_ParametrInst'' AND s.name = ''dbo''
    )
    BEGIN
        UPDATE [' + @dbName + '].[dbo].[net_ParametrInst]
        SET [npi_PobierajAutomatycznie] = 1,
            [npi_ProponujInstalacje] = 0,
            [npi_InstalacjaSieciowa] = 1,
            [npi_UsuwajZainstalowane] = 0,
            [npi_Sciezka] = ''\\192.168.50.10\Instalki'',
            [npi_WybranyKomputer] = 0,
            [npi_UsuwajStarsze] = 1
        WHERE npi_Id = 1
    END'

    EXEC sp_executesql @sql
	Print @dbname
    FETCH NEXT FROM db_cursor INTO @dbName
END

CLOSE db_cursor
DEALLOCATE db_cursor

Was this helpful?

0 / 0

Dodaj komentarz 0