2011-04-04 45 views

Respuesta

0

SI intenta acceder a una variable que aún no se ha definido, la secuencia de comandos de T-SQL le dará un error indicándole que la variable no está definida.

Msg 137, nivel 15, estado 2, línea 5 debe declarar la variable escalar "@x".

15


La declaración de variables en tsql no sigue la ruta de código y utilizar el alcance como lo hace tal vez otros idiomas.

Este código muestra que @xx existe pero no se asigna aunque la declaración nunca se haya ejecutado.

if 1 = 0 
begin 
    declare @xx int = 10 
end 
else 
begin 
    declare @yy int = 20 
end 

print coalesce(@xx, -100) 
print coalesce(@yy, -200) 

Resultado

-100 
20 
+2

Sólo en caso cualquier otra persona también está buscando una manera de hacer esto Trata de bloques catch también no funcionará. si desea verificar si existe una variable y luego declararla si no existe. – user802599

Cuestiones relacionadas