我想写一个存储过程,来删除表。存储过程包含一个参数就是表的名字。我删除sail表时,我就把表名字传给这个存储过程,存储过程就判断这个表是否存在,存在就删除,不存在不做任何处理~~~~~~~
------解决方案--------------------
- SQL code
if object_id('pro_test')is not nulldrop proc pro_testgocreate proc pro_test @tblname varchar(20)asdeclare @str varchar(200)set @str='if object_id('+quotename(@tblname,'''')+') is not null drop table [email protected]print @strexec(@str)--TRY
------解决方案--------------------
- SQL code
if OBJECT_ID('test','P')is not nulldrop proc testgocreate proc test( @table_name varchar(max))asdeclare @sql varchar(max)set @sql='' select @[email protected]+'if object_id([email protected]_name+''''+') is not null drop table [email protected]_name+'+'+''exec (@sql)