Declared table names getting quoted

JimFJimF Posts: 48 Bronze 2
edited August 26, 2014 10:42AM in SQL Prompt
Another issue I have found (in the current live code as well as the current beta) is that in certain circumstances declared table names get quoted with square brackets.

It's rare and I was only reminded of it when I was using the Output clause in a DML statement with 6.4.0.530 and my "Inserted" table was incorrectly changed to the temp table's name and quoted.

I can contrive an example that shows this bug though. Enter:
Declare @Work table
    (
      FieldA int,
      FieldB varchar(10)
    )

Select *
From @Work As w
Then, remove the table alias "As w".
Select *
From @Work
Go to the asterisk and back it out and choose the table name "@Work" from the list, press tab. You then end up with:
Select [@Work]
From @Work
Finally, you can finish the intellisense and add the fields.
Select  [@Work].FieldA,
        [@Work].FieldB
From @Work
While this code is apparently legal and runs, I would rather not see it quoted unless needed because of the characters in the name.

If this issue can't be addressed right away, I think I am fine with that as it is pretty rare that this happens.

Thanks again,
Jim

Comments

  • Hi Jim,

    I'm just playing around with it now and I think the square brackets are actually required here. If I remove them then try to run the statement I get the following error:
    Msg 137, Level 16, State 1, Line 7
    Must declare the scalar variable "@Work".
    Msg 137, Level 16, State 1, Line 8
    Must declare the scalar variable "@Work".
    
    

    Do you see the same when you try to run the statement without the square brackets?

    Thanks,
    Aaron.
Sign In or Register to comment.