Introduction

Hi all, In this blog, I will explain to you how to apply a script or a query to multiple databases in a single execution using a database name. I get all database names, create a loop, and execute a command that I want to do.
Here I am using 2 databases, EnterpriseGL and GR8. I get all database names using a loop, and after that, I get database names one by one, put a script with a name, and execute the script.
  1. BEGIN TRAN
  2. CREATE TABLE #TempGETDBLIST
  3. (
  4. [NAME] NVARCHAR(255) NULL,
  5. [ROWID] INT IDENTITY NOT NULL
  6. )
  7. INSERT INTO #TempGETDBLIST (NAME)
  8. --unomment which database use want to apply
  9. --SELECT NAME FROM master.dbo.sysdatabases WHERE name like '%EnterpriseGL%' -- get all GL databases
  10. --SELECT NAME FROM master.dbo.sysdatabases WHERE name like '%GR8%' --get all GR8 databases
  11. SELECT '#TempGETDBLIST',* FROM #TempGETDBLIST
  12. DECLARE @Flag INT = 1
  13. WHILE (@Flag <= (SELECT COUNT(1) FROM #TempGETDBLIST))
  14. BEGIN
  15. DECLARE @ABC NVARCHAR(50), @query NVARCHAR(max)
  16. SET @ABC =(SELECT Name FROM #TempGETDBLIST WHERE ROWID = @Flag)
  17. SET @query = 'USE '+ @ABC +' select top 1 * from SystemConfiguration'
  18. EXECUTE( @query )
  19. SET @Flag = @Flag + 1
  20. END
  21. DROP TABLE #TempGETDBLIST
  22. ROLLBACK TRAN