您好我有一个像
这样的动态查询SET @template = 'SELECT x AS X,... INTO temporalTable FROM' + @table_name
然后我执行它
EXEC (@template)
temporalTable
已经存在,如果是这样,放弃它?答案 0 :(得分:2)
只需使用OBJECT_ID
即可IF OBJECT_ID('temporalTable') IS NOT NULL
DROP TABLE temporalTable
无需查询任何表格或进行任何聚合。
答案 1 :(得分:1)
使用信息架构或sp_help
功能。
我更喜欢information schema,因为它是SQL ANSI,您可以将代码移植到其他数据库:
select count(1)
from information_schema.tables
where table_name = 'temporalTable';
sys.tables
是一个特定于SQLServer的选项,类似于您也可以探索的信息架构。
答案 2 :(得分:1)
IF EXISTS (SELECT 1
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'
AND TABLE_NAME='tablename')
SELECT 'tablename exists.'
ELSE
SELECT 'tablename does not exist.'