1> CREATE PROCEDURE TestTabName
2> @outTempTableName varchar(32)
3> AS
4> BEGIN
5> if exists (SELECT * FROM sysobjects WHERE name=@outTempTableName)
6> PRINT @outTempTableName + '表存在';
7> ELSE
8> PRINT @outTempTableName + '表不存在';
9> END;
10> go
1> BEGIN
2> EXECUTE TestTabName 'test_main' ;
3> EXECUTE TestTabName 'test_sub' ;
4> EXECUTE TestTabName 'test_123' ;
5> END
6> go
test_main表存在
test_sub表存在
test_123表不存在
1>
能理解么?
语法没有错
判断表 是否存在这样:
if exists (select * from sysobjects where id = object_id(@outtemptablename))
看你上面的发问,这句判断应该没什么问题,有问题的是判断成功后要执行的语句错了