赛
赛特
Unregistered / Unconfirmed
GUEST, unregistred user!
存储过程中,在判断表是否存在时是这样的撒:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
问题是:需要判断的表test还不存在,是用户使用时动态建立的,但存储过程该怎么写呢?
我这样试过,但不行:
set @sqlstr='select '+''''+@count+''''+'=count(*) from dbo.sysobjects where id=object_id(N'+''''+'[dbo].['+@table+']'+''''+') and OBJECTPROPERTY(id, N'+''''+'IsUserTable'+''''+') = 1'
exec sp_executesql @str
if @count>0
--说明存在
else
--说明不存在
假如存在了,又该怎么删除呢?
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
问题是:需要判断的表test还不存在,是用户使用时动态建立的,但存储过程该怎么写呢?
我这样试过,但不行:
set @sqlstr='select '+''''+@count+''''+'=count(*) from dbo.sysobjects where id=object_id(N'+''''+'[dbo].['+@table+']'+''''+') and OBJECTPROPERTY(id, N'+''''+'IsUserTable'+''''+') = 1'
exec sp_executesql @str
if @count>0
--说明存在
else
--说明不存在
假如存在了,又该怎么删除呢?