我对这段 SQL 代码失去了理智。下面的 IF ELSE 语句在使用简单 PRINT 语句进行测试时正常运行,即该表不存在,因此它打印“FALSE”。但是当我取消对 SET 语句的注释并执行时,它会尝试运行 SET 语句,并且由于表不存在而自然给出错误。
DECLARE @zeus_calls310_counter int;
IF EXISTS (SELECT * FROM [zeus].tpza.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'calls_310')
BEGIN
--SET @zeus_calls310_counter = (SELECT COUNT(*) FROM [zeus].[tpza].[dbo].[calls_310]);
PRINT 'TRUE'
END
ELSE
BEGIN
PRINT 'FALSE';
END