INF: Assignment of Empty Results Set Does Not Set Variable

ID: Q107561


The information in this article applies to:
  • Microsoft Windows NT versions 3.1, 3.5, 3.51, 3.51 SP2, 3.51 SP5, 4.0, 4.0 Service Pack 6, 4.0 Service Pack 6a, 4.0 SP4, 5.0, SP3
  • Microsoft SQL Server version 4.2x


SUMMARY

If a local variable is set by the results of a SELECT statement which returns no rows, the value currently stored in the local variable will remain unchanged.


MORE INFORMATION

An example of this behavior would be the following statement:


   declare @var int
   select @var = 5
   select @var = dbid from sysdatabases where name = "does not exist"
   select @var 

The above query will return 5 as the results of the final SELECT statement. However, if a local variable is set by a query which explicitly returns NULL, the value of the local variable will be set to NULL.

Additional query words: 4.20 Transact-SQL

Keywords : kbother SSrvTrans kbNTOS310 kbNTOS350 kbNTOS351 kbNTOS400 kbNTOS400sp1 kbNTOS400sp2 kbNTOS500sp3 kbNTOS400sp4 kbNTOS400sp6 kbNTOS400sp5
Version : winnt:3.1,3.5,3.51,3.51 SP2,3.51 SP5,4.0,4.0 SP4,4.0 Service Pack 6,4.0 Service Pack 6a,4.2x,5.0,SP3
Platform : winnt
Issue type :


Last Reviewed: January 18, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.