我发现了很多关于这个问题的问题。
但是有没有简单的陈述来完成这项任务?
用于SQL和ACCESS
答案 0 :(得分:4)
IF (EXISTS (SELECT 1 FROM sys.tables WHERE name = 'table_name'))
BEGIN
-- do stuff
END
sys.tables还可以为您提供有关表格对象的一些信息,例如is_replicated
列告诉您表是由复制创建的,还是has_replication_filter
列告诉您表是否设置了复制过滤器
注意:这是针对SQL Server的
编辑: 对于访问:
SELECT COUNT(*) as Exists from MsysObjects
WHERE type = 1
AND name = 'MY_TABLE_NAME'
答案 1 :(得分:2)
请注意,在SQL中没有标准化的方法,您必须编写特定于平台的代码。
据我所知,所有DBMS都以这种或那种方式具有此功能,但它有很大不同,例如在Oracle中,您可以查询sys.all_tables
视图。
答案 2 :(得分:0)
您也可以使用OBJECT_ID。
IF OBJECT_ID('table1') IS NOT NULL
print 'Exists'
else
print 'Not Exists'