首页 / SQL Server / 正文

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

3363 发布于: 2018-01-10 读完约需2分钟

[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数据库中搜索包含指定关键字的所有表的数据集合的方法有哪些?

下一篇: .NET[C#]LINQ中IEnumerable<T>如何实现动态LINQ排序?

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

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册