T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)

判断数据库是不是存在

 if DB_ID(N‘DATABASENAME‘) is not null

判断表,视图,存储过程,游标的方法综合如下:

use databasename--跳转到指定数据库 
go
if object_id(N‘a‘,N‘U‘) is not null
drop table a
go
注:a 是一个表,U代表是数据表类型
类似于U的类型代码,如下所示
对象类型:
AF = 聚合函数 (CLR)
C = CHECK 约束
D = DEFAULT(约束或独立)
F = FOREIGN KEY 约束
PK = PRIMARY KEY 约束
P = SQL 存储过程
PC = 程序集 (CLR) 存储过程
FN = SQL 标量函数
FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数
R = 规则(旧式,独立)
RF = 复制筛选过程
SN = 同义词
TR = SQL DML 触发器
IF = SQL 内联表值函数
TF = SQL 表值函数
U = 表(用户定义类型)
UQ = UNIQUE 约束
V = 视图
X = 扩展存储过程
IT = 内部表

我以前介绍过sysobjects这个系统表。自定的表,存储过程。。。。。都会存进这张表。所以。。。。。

表中的列是否存在

 IF COL_LENGTH(‘A‘, ‘C‘) IS NOT NULL 
注:A是表名
    C是列名    
或者:   
select   *   from   syscolumns   where   id=object_id(‘表名‘)   and   name=‘列名‘ 
注:存在则返回此列的一条说明记录,不存在返回空;
时间: 2024-10-12 20:12:51

T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)的相关文章

SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面的知识多是自己总结,有一些参考了MSDN. sp_help 有时候想尽快查出数据库对象的相关信息,这个存储过程就很有用了.使用它可以查询出整个数据库中所有对象的相关信息.直接运行sp_help结果如下图1,

sql查询其他服务器数据库表

exec sp_addlinkedserver 'abc', '', 'SQLOLEDB', '192.168.49.34' exec sp_addlinkedsrvlogin 'abc', 'false',null, 'CentermUA', '123' go --查询 select * from abc.ccflowreal2.dbo.V_ND58Details --插入 select * into temp from abc.ccflowreal2.dbo.V_ND58Details ex

(转)SQL server 2005查询数据库表的数量和表的数据量

本文转载自:http://hi.baidu.com/ajyajyajy/item/4e2a7f4dc83393d2c1a592c1 use DBNAMEgoselect * from sysobjects where xtype='U'; --这是查询所有表的信息select count(*) from sysobjects where xtype='U' --这是查询表的数量 ‍select a.name, b.rows from sysobjects a with(nolock) join

SQL Server建库-建表-建约束

----------------------------------------SQL Server建库-建表-建约束创建School数据库-------------------------------------- --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建----exists关键字:括号里边能查询到数据则返回‘true’ 否则返回‘false’if exists(select * from sysdatabases where name =

数据库表的约束

在设计数据库时,为了确保数据库表中数据的质量,需要考虑数据的完整性(数据的完整性是指数据的正确性和一致性).举个例子:当你要为学生建立一个基本信息表StudentInfo时,这个表中学生的名字可以相同但是学号必须不一样,而他的年龄也得限制在一定范围内,像这样类似的"限制"有很多,如果违反了这些限制就制造了与现实不符的失真数据即破坏了数据的完整性.因为数据库不能自行判断哪些数据失真,所以需要认为添加一些约束来保证数据的完整性. 数据库中对表的约束有五种: 1.主键约束(Primary K

表级约束和列级约束

表级约束与列级约束 列级约束:指对一个数据列建立的约束  (用的多). 表级约束:指对多个数据列建立的约束. (1)列级约束既可以在列定义时声明,也可以在列定义后声明 (2)表级约束只能在列定义后声明 有些资料上,说,还有一个检测约束.

MySQL表级约束和列级约束

对一个数据列建立的约束,称为列级约束 对多个数据列建立的约束,称为表级约束 列级约束即可以在列定义时生命,也可以在列定义后声明. 表级约束只能在列定义后声明. NOT NULL和DEFAULT只存在列级约束. PRIMARY KEY.UNIQUE.FOREIGN KEY同时存在表级约束和列级约束.

数据库(SQL Server)管理数据库表~新奇之处

说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着.于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一个更进步的空间. 就像标题中所说的:“数据库之创建与管理数据库表”,或许说不上新颖之作,但我相信应该有能帮大家解决在学习中运到的一些问题,当然谁都不会是完美,都会有不一样的感触,所以也想借此来和大家多多的交流并分享学习数据库时的郁闷与愉快. 那好,就让我们进入我总结”数据库“时空之境吧!!! 如果说

SQL Server 可视化操作数据库表

一.约束分类(保证数据的完整性). A.主键约束——实体 设置主键不能为空值,具备唯一标识性,是为了防止录入错误,设置了主键,减慢了新增数据的速度,但大大提高了查询的效率.1.不重.2.不空.3.排序.4.唯一(不能出现两个主键)5.组合主键. 建主键: 1.可视化建主键.在“对象资源管理器”中选中要设置主键的表,右键点击“设计”,弹出的窗口中,右击该表设计器里列名前面的小三角--选“设置主键”即可. 2.代码建主键. primary key B.外键约束——引用 两个表,主表和从表.主表——用

mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启约束 CREATE PROCEDURE proc_deleteDateSql /* 生成清除数据库表数据的脚本方法分享 */ AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable