Dmitrii
Dmitrii

Reputation: 1257

How to check if a variable is already declared (T-SQL)?

When I write

DECLARE @x INT

Is there a way to check whether the variable @x has already been declared or not?

Upvotes: 18

Views: 10897

Answers (2)

Mikael Eriksson
Mikael Eriksson

Reputation: 139000

No.
The declaration of variables in tsql does not follow the code path and use scope like perhaps other languages does.

This code shows that @xx exists but is unassigned even though the declaration was never executed.

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

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

Result

-100
20

Upvotes: 19

Shannon Lowder
Shannon Lowder

Reputation: 482

IF you try to access a variable that has not yet been defined, the T-SQL Script will give you an error telling you the variable isn't defined.

Msg 137, Level 15, State 2, Line 5 Must declare the scalar variable "@x".

Upvotes: 0

Related Questions