Transact-SQL Exists Sentences
--判断数据库是否存在
IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名')
print 'exists'
ELSE
print 'not exists'
--判断数据库是否存在
IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名')
print 'exists'
ELSE
print 'not exists'
--判断要创建的表名是否存在
IF ESISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[表名]') AND OBJECTPROPERTY(id, N'IsUserTable')=1)
--删除表
DROP TABLE [dbo].[表名]
GO
IF ESISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[表名]') AND OBJECTPROPERTY(id, N'IsUserTable')=1)
--删除表
DROP TABLE [dbo].[表名]
GO
--判断要创建临时表是否存在
IF object_id('Tempdb.dbo.#Test') IS NOT Null
BEGIN
print '存在'
END
ELSE
BEGIN
print '不存在'
END
IF object_id('Tempdb.dbo.#Test') IS NOT Null
BEGIN
print '存在'
END
ELSE
BEGIN
print '不存在'
END
--判断要创建的存储过程名是否存在
IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[存储过程名]') AND OBJECTPROPERTY(id, N'IsProcedure')=1)
--删除存储过程
DROP PROCEDURE [dbo].[存储过程名]
GO
IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[存储过程名]') AND OBJECTPROPERTY(id, N'IsProcedure')=1)
--删除存储过程
DROP PROCEDURE [dbo].[存储过程名]
GO
--判断要创建的视图名是否存在
IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[视图名]') AND OBJECTPROPERTY(id, N'IsView')=1)
--删除视图
DROP VIEW [dbo].[视图名]
GO
IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[视图名]') AND OBJECTPROPERTY(id, N'IsView')=1)
--删除视图
DROP VIEW [dbo].[视图名]
GO
--判断要创建的函数名是否存在
IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[函数名]') AND OBJECTPROPERTY(id, N'FN', N'IF', N'TF'))
--删除函数
DROP FUNCTION [dbo].[函数名]
GO
IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[函数名]') AND OBJECTPROPERTY(id, N'FN', N'IF', N'TF'))
--删除函数
DROP FUNCTION [dbo].[函数名]
GO
--判断要创建的列名是否存在
if col_length('表名', '列名') is null
print '不存在'
或
select 1 from sysobjects where id in (select id from syscolumns where name='列名') and name='表名'
if col_length('表名', '列名') is null
print '不存在'
或
select 1 from sysobjects where id in (select id from syscolumns where name='列名') and name='表名'
SQL Server 2005 系统表简介
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库当前配置选项
sysdatabases 主数据库服务器中的数据库
syslanguages 主数据库语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库角色成员
sysobjects 每个数据库所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
sysusers 每个数据库 用户
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库当前配置选项
sysdatabases 主数据库服务器中的数据库
syslanguages 主数据库语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库角色成员
sysobjects 每个数据库所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
sysusers 每个数据库 用户