SQL判断数据库是不是存在。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL判断数据库是不是存在。相关的知识,希望对你有一定的参考价值。

在SQL中想做个触发:判断一个数据库是否存在,如果存在继续执行语句,如果不存在不执行语句。

IF EXISTS(SELECT * FROM SYSDATABASES WHERE NAME = '你要判断的数据名字')
PRINT '存在'
ELSE
PRINT '不存在'
参考技术A 如果数据库都不存在了,你如何知道这个触发器是否执行了?

sql语句 判断表是不是存在

用户表在当前数据库的系统表中,可使用以下语句进行查找:
select Name,ID from sysobjects where xtype=\'U\'

若是将xtype=\'U\'换成xtype=\'V\'就可以查出来所有视图
xtype参数大概有以下种类:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
参考技术A

IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')

PRINT '该表存在'

ELSE

PRINT '该表不存在'。

    SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

    SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

参考技术B --判断临时表是否存在 
if exists(select * from tempdb.sysobjects where id=object_id('tempdb..#TEMP_TBL'))
    print '存在'
else
    print 不存在'
--判断数据表是否存在
if object_id(N'tablename',N'U') is not null
    print '存在'
else
    print '不存在

参考技术C IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id('table_Name') AND OBJECTPROPERTY(id, 'IsUserTable') = 1)
DROP TABLE table_Name
参考技术D IF EXISTS ( SELECT  *
            FROM    sys.objects
            WHERE   object_id=OBJECT_ID(N'[dbo].[xxxx]') AND
                    type IN (N'U') )
  --DROP TABLE [dbo].[xxxx];

以上是关于SQL判断数据库是不是存在。的主要内容,如果未能解决你的问题,请参考以下文章

怎么判断sql数据库是不是存在,存在删除

sql 判断列是不是存在

如何判断一个数据库是不是存在 (SQL Server 2008)

JPA怎么判断一个字段是不是存在?

sql判断临时表是不是存在

sql判断临时表是不是存在