T-SQL programmatique dans les scripts sql ad-hoc

Est-il possible d'utiliser des constructions de programmation T-SQL en dehors des limites des procédures et des fonctions stockées? Plus précisément, peuvent-ils être utilisés dans des scripts SQL ad-hoc? Si oui, la gamme complète des capacités est-elle disponible (à part le fait de passer des parameters et de renvoyer des valeurs qui, je suppose, ne seraient supscopes que dans les procédures et fonctions stockées)?

Je viens d'un environnement Oracle PL / SQL. PL / SQL peut être utilisé dans des procédures et des fonctions stockées, mais également dans des blocs de code PL / SQL anonymes qui peuvent être utilisés dans des scripts SQL ad-hoc et ne sont pas stockés dans la database. J'aimerais savoir si T-SQL a des capacités similaires.

Oui, ils peuvent prendre cette solution exemple au problème fizzbuzz:

declare @counter int declare @output varchar(15) set @counter = 1 while @counter < 101 begin set @output = '' if @counter % 3 = 0 set @output = 'Fizz' if @counter % 5 = 0 set @output = @output + 'Buzz' if @output ='' set @output = @counter print @output set @counter = @counter + 1 end 

Bien sûr, ne tombez pas dans le piège de l'utilisation du code de procédure pour travailler avec des données, SQL fonctionne mieux traiter datatables comme un set.