Este codigo me funciono perfectamente (con @I=1 y Con @I=2):
Código SQL:
Ver originalDECLARE @I INT=1;
IF @I=1
SELECT * FROM sys.TABLES;
ELSE
SELECT * FROM sys.views;
Que significa "no lo hace": el Else te devuelve un conjunto vacio? un error? nada?