1判断数据库是否存在
存在if exists(select * from sys.databases where name ='数据库名')
drop database [数据库名]
2判断表是否存在
,如果存在(来自系统对象选择*其中id =的object_id(N '[表名]')和OBJECTPROPERTY(ID,N'IsUserTable')= 1)
删除表[表名]
(存储过程名)')和OBJECTPROPERTY(id,N'IsProcedure')= 1) drop procedure [存储过程名] 3判断存储过程是否存在if exists(select * from sysobjects where id = object_id(N'
4判断临时表是否存在
if object_id('tempdb ..#临时表名')不为空
drop table#临时表名
5判断视图是否存在
- 判断是否存在'MyView52'这个试图
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = N'MyView52')
PRINT'存在'
else
PRINT'不存在'
6判断函数是否存在
- 判断要创建的函数名是否
存在如果存在(select * from dbo.sysobjects where id = object_id(N'[dbo]。[函数名]')和xtype in(N'FN',N'IF',N'TF'))
drop function [DBO]。[函数名]
7获取用户创建的对象信息
SELECT [name],[id],crdate FROM sysobjects where xtype ='U'
/ *
xtype的表示参数类型,通常包括如下这些
C = CHECK约束
D =默认值或DEFAULT约束
F = FOREIGN KEY约束
L =日志
FN =标量函数
IF =内部表函数
P =存储过程
PK = PRIMARY KEY约束(类型是K)
RF =复制筛选存储过程
S =系统表
TF =表函数
TR =触发器
U =用户表
UQ = UNIQUE约束(类型是K)
V =视图
X =扩展存储过程
*
8判断列是否
存在if exists(select * from syscolumns where id = object_id('表名')and name ='列名')
alter table表名drop列名
9判断列是否自增列
如果columnproperty(object_id('table'),'col','IsIdentity')= 1
print'自增列'
else
print'不是自增列' SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('表名')AND is_identity = 1
10判断表中是否存在索引
如果存在(select * from sysindexes where id = object_id('表名')and name ='索引名')
print'存在'
else
print'不存在'
11查看数据库中对象
SELECT * FROM sys.sysobjects WHERE name ='对象名'SELECT * FROM sys.sysobjects WHERE name ='对象名'