Quantcast
Channel: Transact-SQL forum
Viewing all articles
Browse latest Browse all 23857

Query with a WHILE loop

$
0
0

DECLARE@databasenameAS NVARCHAR(128);

SET@databasename=(SELECT MIN(name)FROMsys.databases

WHEREnameNOT IN    ('master','model', 'msdb','tempdb'));

 WHILE@databasenameIS NOTNULLBEGIN

   PRINT@databasename;

    SET@databasename =(SELECTMIN(name)FROMsys.databases

        WHEREnameNOT IN     ('master','model', 'msdb','tempdb')

        ANDname> @databasename);END

Databases

A

B

C

D

I have question related to the above SQL statement, forgive me as I am unfamiliar with WHILE loops.

I understand that the query above finds the minimum database name, prints the value then finds the next database greater than the minimum.

What happens when it loops occurs,  I know it prints the database name of the one it has found.  In the example above it will be B.  Will the @databasename be then set to B and the following query will be run so the @databasename will then be set to C?

 SELECTMIN(name)FROMsys.databases

        WHEREnameNOT IN     ('master','model', 'msdb','tempdb')

        ANDname> @databasename);


Viewing all articles
Browse latest Browse all 23857

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>