Poiché @A non viene mai dichiarato, SQL Server dovrebbe generare un errore, ma non lo fa. Perché?Perché la variabile dichiarata all'interno dell'istruzione IF viene creata anche quando la condizione viene valutata come falsa?
DECLARE @i int = 1;
IF @i > 10
BEGIN
DECLARE @A int = 100;
END
PRINT @A; // doesn't return any result
thanx
+1: Buona domanda. –