如何在SQL Server2005数据库中检查一个表是不是存在,如存在就删除表记录,如不存在就建表.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SQL Server2005数据库中检查一个表是不是存在,如存在就删除表记录,如不存在就建表.相关的知识,希望对你有一定的参考价值。

坐等大神们的答案!急!!!

1. 检索 dbo.sysobjects表,
select count(*) from dbo.sysobjects
where xtype='U' and Name = '你的表名'

2. 根据返回的结果判断表是否存在,确定是清楚表的记录,还是建表追问

dbo.sysobjects这是系统表还是?其实有点不理解。我在数据库(Blog)中查询是否存在 表(blogs),如果有就删除这个(blogs)表 。怎么写?小弟愚钝!还请大哥们体谅!

追答

dbo.sysobjects 是系统表

select count(*) from dbo.sysobjects
where xtype='U' and lower(Name) = 'blogs';

然后判断返回值,
如果 大于0

drop table blogs;

追问

xtype='U' and lower(Name) = 'blogs' 不懂这个。。

追答

dbo.sysobjects
你熟悉一下这个系统表 就可以了。

参考技术A 可以参考:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[你的表名称]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[你的表名称](
[你的表中的列] [int] NOT NULL
)
END

===》 核心代码:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[你的表名称]') AND type in (N'U'))
参考技术B if object_id(N'tablename',N'U') is not null
truncate table tablename

else
create table xxx(xxx)

以上是关于如何在SQL Server2005数据库中检查一个表是不是存在,如存在就删除表记录,如不存在就建表.的主要内容,如果未能解决你的问题,请参考以下文章

使用SSIS从SQL Server 2005中的平面文件导入时如何保留NULL值

检查SQL Server 2005的索引密度和碎片信息(转)

在 SQL Server 2005 中修改现有作业

如何在 sql server 2005 中编写 sql server 数据库图表脚本?

存储过程系列之调试存储过程 SQL Server 2005

存储过程系列之调试存储过程 SQL Server 2005