[SQL Server]SQL Server数据库中判断数据表存在则删除的方法有哪些?

SQL Server 作者: Rector 67阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

[SQL Server]SQL Server数据库中判断数据表存在则删除的方法有哪些?

方案一

IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL 
  DROP TABLE dbo.Scores;

或者(如果是临时表):

IF OBJECT_ID('tempdb.dbo.#T', 'U') IS NOT NULL
  DROP TABLE #T;

方案二

如果是 SQL Server 2016 版本:

DROP TABLE IF EXISTS dbo.Scores

方案三

if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Scores' AND TABLE_SCHEMA = 'dbo')
    drop table dbo.Scores;

方案四

创建一个自定义的函数:

CREATE FUNCTION [dbo].[Table_exists]
(
    @TableName VARCHAR(200)
)
    RETURNS BIT
AS
BEGIN
    If Exists(select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = @TableName)
        RETURN 1;

    RETURN 0;
END

GO

调用方法:

IF [dbo].[Table_exists]('User') = 1 Drop table [User]

阅读了该文章的人还浏览了...

本文永久链接图享网 » [SQL Server]SQL Server数据库中判断数据表存在则删除的方法有哪些?

发布于: 2018-01-10 09:34:27
分享扩散:

文章评论

获取验证码