How can we help you today? How can we help you today?

Bug in "Qualify Object Names" introduced bug in my code!

SELECT  onfile.DealReference  
                    dbo.DCA_Detail AS onfile 
                    WHERE   onfile.DealReference NOT IN (  
                            SELECT  DealReference  
                            FROM    #tmpAllocatedDealReferences ) 

When I chose to "Qualify Object Names", it changed the subselect as follows.
NOT IN (  
                            SELECT  onfile.DealReference  
                            FROM    #tmpAllocatedDealReferences ) 

This introduced a nasty little bug, quite tricky to spot.

The DealReference field in the subselect should refer to the temp table.

I'd advise to all that you shouldn't consider the "Qualify Object Names" as purely cosmetic i.e. that if you're going to use it, make sure that you do so BEFORE testing.

Regards,

David McKinney.
dmckinney
0

Comments

2 comments

  • bauerju
    Hi David

    the same occurs with table variables:
    DECLARE @PP TABLE ( PPi VARCHAR(15) )
    SELECT PPi FROM @PP
    
    after qualifying:
    DECLARE @PP TABLE ( PPi VARCHAR(15) )
    SELECT @PP.PPi FROM @PP
    

    Qualify inserts @PP. into the select. This creates the error.

    Jürgen
    bauerju
    0
  • rlively
    Was this ever fixed?
    rlively
    0

Add comment

Please sign in to leave a comment.