if exists(SELECT * FROM sysobjects WHERE name=@outTempTableName)--建表 这句错了,该怎样写呢?

2025-03-26 07:37:40
推荐回答(3个)
回答1:

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>



能理解么?

回答2:

语法没有错
判断表 是否存在这样:
if exists (select * from sysobjects where id = object_id(@outtemptablename))

回答3:

看你上面的发问,这句判断应该没什么问题,有问题的是判断成功后要执行的语句错了