[SQL Server]SQL Server中检测一个表是否存在的方法有哪些?

SQL Server 作者: Rector 发布时间: 2018-01-09 08:57:10 8阅读 0评论 0收藏 收藏本文

[SQL Server]SQL Server中检测一个表是否存在的方法有哪些?

方案一、使用INFORMATION_SCHEMA.TABLES 视图

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'Customers')
BEGIN
    PRINT 'Table Exists'
END

方案二、使用 OBJECT_ID() 函数

IF OBJECT_ID(N'dbo.Customers', N'U') IS NOT NULL
BEGIN
    PRINT 'Table Exists'
END

方案三、使用 sys.Objects 分类视图

IF EXISTS(SELECT 1 FROM sys.Objects WHERE  Object_id = OBJECT_ID(N'dbo.Customers') AND Type = N'U')
BEGIN
   PRINT 'Table Exists'
END

方案四、使用 sys.Tables 分类视图

IF EXISTS(SELECT 1 FROM sys.Tables WHERE  Name = N'Customers' AND Type = N'U')
BEGIN
    PRINT 'Table Exists'
END

方案五、使用 sys.sysobjects 系统表

IF EXISTS(SELECT name FROM sys.sysobjects WHERE Name = N'Customers' AND xtype = N'U')
BEGIN
    PRINT 'Table Exists'
END

转载请注明:图享网 » [SQL Server]SQL Server中检测一个表是否存在的方法有哪些?

分享扩散:

文章评论

获取验证码