当前位置:  数据库>sqlserver

Sql Server 判断表或数据库是否存在的实例详解

    来源: 互联网  发布时间:2014-08-29

    本文导语:  本节内容: Sql Server 判断表或数据库是否存在 在SQL Server中判断数据库是否存在,可以这样:   代码示例: select * From master.dbo.sysdatabases where name='pubs' 最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据...

本节内容:
Sql Server 判断表或数据库是否存在

在SQL Server中判断数据库是否存在,可以这样:
 

代码示例:
select * From master.dbo.sysdatabases where name='pubs'

最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。

但在实际使用中,需判断Status状态位:
其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user 等)进行设置:
 

1 = autoclose;使用 sp_dboption 设置。 数据库完全关闭,其资源在最后一个用户注销后释放。
4 = select into/bulkcopy;使用 sp_dboption 设置。允许使用 Select INTO 语句和快速大容量复制。
8 = trunc. log on chkpt;使用 sp_dboption 设置。如果数据库处于日志截断模式,则检查点将截断日志中非活动的部分。只能为 master 数据库设置此选项。16 = torn page detection,使用 sp_dboption 设置。可以检测残缺页。
32 = loading。
64 = pre recovery。
128 = recovering。
256 = not recovered。
512 = offline;使用sp_dboption 设置。数据库将处于脱机状态。
1024 = read only;使用 sp_dboption 设置。用户仅能读取数据库中的数据而无法对其进行修改。
2048 = dbo use only;使用sp_dboption 设置。只有数据库所有者可以使用数据库。
4096 = single user;使用 sp_dboption 设置。每次只能有一个用户访问数据库。
32768 = emergency mode。
4194304 = autoshrink。
1073741824 = cleanly shutdown。
 

可以同时打开多个位。

譬如:判断一个数据库是否offline
 

代码示例:
select * From master.dbo.sysdatabases where name='pubs' and status512

SQL Server中判断表对象是否存在:
 

代码示例:

select count(*) from sysobjects where id = object_id('数据库名.Owner.表名')

if exists
(select count(*) from sysobjects where id = object_id('数据库名.Owner.表名'))
print '存在'
else
print '不存在'

SQL Server中判断表中字段是否存在:
 

代码示例:
if exists(select * from syscolumns where name='colname1' and id=object_id('数据库名.Owner.表名'))
print '存在'
else
print '不存在'
 

代表表tablename1中存在colname1字段
例:
 

代码示例:
select * from syscolumns where name='Test' and id=object_id('dbo.test')

Access中判断表对象是否存在:
其实,Access数据库也有系统表,存放有对象名
 

代码示例:
Select Count(*) AS Qty FROM MSysObjects Where ((MSysObjects.Name) Like '表名');

判断数据库和表是否存在 
 

代码示例:
if not exists(select 1 From master.dbo.sysdatabases where name=N'JZKStarCfg')

    
 
 

您可能感兴趣的文章:

  • sql 版本详解 让你认识跟sql2000的区别
  • sql语言中delete删除命令语句详解
  • 探讨:sql插入空,默认1900-01-01 00:00:00.000的解决方法详解
  • sql server日期相减 的实现详解
  • 使用SQL Server判断文件是否存在后再删除(详解)
  • 深入SQL Server中定长char(n)与变长varchar(n)的区别详解
  • sql server定义联合主键的方法详解
  • Sql Server使用cursor处理重复数据过程详解
  • 深入SQL截取字符串(substring与patindex)的详解
  • SQL Server UPDATE语句的用法详解
  • 深入SQL SERVER合并相关操作Union,Except,Intersect的详解
  • 深入sql多表差异化联合查询的问题详解
  • oracle SQL递归的使用详解
  • SQL server 2005 判断表是否存在的方法详解
  • SQL Server正则表达式 替换函数应用详解
  • 基于SQL中SET与SELECT赋值的区别详解
  • 在sql server代理中配置邮件会话的方法详解
  • sql2005中创建CLR存储过程的方法详解
  • SQL实现递归及存储过程中In()参数传递解决方案详解
  • 深入sql server 2005 万能分页存储过程的详解
  • sql语句实例 取得日志条目的sql语句
  • SQL分组排序去除重复实例
  • php防止sql注入代码实例
  • T-SQL实例 函数结果设置为列别名
  • 怎样不执行SELECT SQL语句即可获得ResultSetMetaData实例????
  • sql语句实例 统计一个特定页面中的相关链接
  • SQL分组排序去重复的小实例
  • sql语句实例 统计页面链接的sql语句
  • 教你怎么使用sql游标实例分享
  • mysqli多条sql语句查询实例
  • MSSQL中递归SQL查询语句实例说明-
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • shell中关于sql查询结果的判断?
  • ResultSet rs = stmt.executeQuery(sql),如果该sql的结果是没有符合的记录,那么rs此时是什么东东?是null吗?如果不是,如何判断是空resultset?
  • oracle用什么SQL语句判断表存不存在
  • 如何判断一条sql(update,delete)语句是否执行成功
  • Oracle判断指定列是否全部为数字的sql语句
  • sql 版本详解 让你认识跟sql2000的区别 iis7站长之家
  • 判断表TextTable中是否存在列IsUpdate的sql语句
  • SQL SERVER如何判断某个字段包含大写字母
  • sql server字符串非空的判断方法
  • sql2005 数据表存在与否及删除的判断语句
  • SQL 判断字段类型语句
  • sql server字符串非空判断实现方法
  • 使用SQL Server判断文件是否存在并删除的实例代码
  • sql 判断函数、存储过程是否存在的代码整理
  • SQL语句判断表是否存在
  • sql server 判断表是否存在的简单方法
  • SQL SERVER先判断视图是否存在然后再创建视图的语句
  • T-SQL判断一个日期是否为今天的函数
  • 有关SQL条件判断语句的二个例子
  • sql 判断数据库,表,存储过程等是否存在的代码
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3