日期:2014-05-17 浏览次数:20602 次
DECLARE @tbname nvarchar(30);
SET @tbname='0exp_corp';
IF OBJECT_ID(@tbname)>0
DROP TABLE @tbname;
消息 102,级别 15,状态 1,第 4 行
'@tbname' 附近有语法错误。
DECLARE @tbname nvarchar(30);
SET @tbname='0exp_corp';
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(@tbname) AND type in (N'U'))
exec (N'DROP TABLE '+@tbname);
GO
DECLARE @tbname nvarchar(30);
SET @tbname='tb';
IF OBJECT_ID(@tbname, 'u') IS NOT NULL --OBJECT_ID函数应该用IS NOT NULL来判断,且一般加上'U'参考,表示用户表
--DROP TABLE @tbname; --参数查询不能是表名,可以是字段值和top中的数值:select top (@count) @fieldvalue, field2 from tableName where id > @id
EXEC('DROP TABLE '+ @tbname) --任何时候,想让表名动态,就只能拼SQL,用EXEC或up_executesql来执行。
GO