Ejecutar un Script SQL en todas las compañías
A veces uno tiene que ejecutar misma secuencia de comandos en todas las empresas por ejemplo, DBCC CHECKDB en todas las grandes empresas de los llanos. este cursor ejecuta la instrucción SQL en todas las empresas. bueno para rutinas durante la noche.
DECLARE CheckDB_curs CURSOR FOR
SELECT interid FROM dynamics..sy01500
OPEN CheckDB_curs
DECLARE @dbname varchar(30), @output_msg varchar(80)
FETCH NEXT FROM CheckDB_curs INTO @dbname
WHILE (@@FETCH_STATUS=0 )
BEGIN
EXEC (‘dbcc checkdb (‘ + @dbname + ‘)’)
IF (@@ERROR=0)
SELECT @output_msg=
‘Script Successful!! ‘
+ @dbname
ELSE
SELECT @output_msg=
‘Script Failed !! ‘
+ @dbname + ‘ @@ERROR=’ +
CONVERT(varchar, @@ERROR)
PRINT @output_msg
FETCH NEXT FROM CheckDB_curs INTO @dbname
END
CLOSE CheckDB_curs
DEALLOCATE CheckDB_curs