How can I check if a temporary table exists in the current context?
With normal tables I'd do a
EXISTS ( SELECT name FROM sysobjects
WHERE name='myTableName' AND type='U')
However, I can't do that with a temporary table. I'd have to go look at the sysobjects table in the tempdb database.
The problem is that for temporary tables, a suffix is added to the name to make it unique for each scope. I can't change the WHERE clause to name LIKE 'myTableName%' because this would return true if a temporary table with the same name exists in a different scope.
Any ideas?
Carlos
You can try the following
IF object_id('tempdb..#MyTempTable') IS NOT NULL
BEGIN
DROP TABLE #MyTempTable
END
CREATE TABLE #MyTempTable
(
ID int IDENTITY(1,1),
SomeValue varchar(100)
)
GO
Print 'Yes'
Else
Print 'No'sql
No comments:
Post a Comment