如何在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
你熟悉一下这个系统表 就可以了。
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的索引密度和碎片信息(转)