Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
2010-11-23 17:41
387 查看
代码
--判断数据库是否存在
IF EXISTS (SELECT * FROM master..sysdatabases WHERE NAME = 'UAP5MC')
PRINT 'exists '
else
PRINT 'not exists'
--判断要创建表名是否存在 [两种方法]
--方法一:
IF EXISTS (select * From sysobjects Where Name ='tblstmTaskList' And Type In ('S','U'))
PRINT 'exists'
GO
--方法二:
if exists (select * from sysobjects where id=object_id(N'[dbo].tblstmTaskList') and OBJECTPROPERTY(id, N'IsUserTable')=1)
PRINT 'exists'
--判断要创建临时表是否存在
IF Object_Id( 'UAP5MC.dbo.#Test') Is Not NULL--#Test 为临时表名
BEGIN
print '存在 '
END
ELSE
BEGIN
print '不存在 '
END
--判断要创建的存储过程名是否存在 [两种方法]
--方法一:
IF EXISTS (Select * From sysObjects Where Name ='SPService_Synctblcmbase_Server_SoftWare' And Type In ('S','P'))
PRINT 'exists'
--方法二:
if exists(select 1 from sysobjects where id=object_id('P_GetNewSeqVal_SeqT_FV') and xtype='P')
begin
drop PROCEDURE P_GetNewSeqVal_SeqT_FV;
end
--判断列名是否存在 [两种方法]
IF EXISTS (SELECT O.NAME AS 表名,C.NAME AS 列名 FROM SYSOBJECTS O
INNER JOIN SYSCOLUMNS C ON O.ID=C.ID WHERE O.NAME= 'tblstmTaskList' AND C.NAME = 'Title')
PRINT 'EXISTS'
ELSE
PRINT 'NOT EXISTS'
--第二种:
IF COL_LENGTH( 'tblstmTaskList','Title') IS NULL
PRINT 'not exists'
ELSE
PRINT 'exists'
注:
对象类型:
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 = 内部表
if ($ != jQuery) {
$ = jQuery.noConflict();
}
--判断数据库是否存在
IF EXISTS (SELECT * FROM master..sysdatabases WHERE NAME = 'UAP5MC')
PRINT 'exists '
else
PRINT 'not exists'
--判断要创建表名是否存在 [两种方法]
--方法一:
IF EXISTS (select * From sysobjects Where Name ='tblstmTaskList' And Type In ('S','U'))
PRINT 'exists'
GO
--方法二:
if exists (select * from sysobjects where id=object_id(N'[dbo].tblstmTaskList') and OBJECTPROPERTY(id, N'IsUserTable')=1)
PRINT 'exists'
--判断要创建临时表是否存在
IF Object_Id( 'UAP5MC.dbo.#Test') Is Not NULL--#Test 为临时表名
BEGIN
print '存在 '
END
ELSE
BEGIN
print '不存在 '
END
--判断要创建的存储过程名是否存在 [两种方法]
--方法一:
IF EXISTS (Select * From sysObjects Where Name ='SPService_Synctblcmbase_Server_SoftWare' And Type In ('S','P'))
PRINT 'exists'
--方法二:
if exists(select 1 from sysobjects where id=object_id('P_GetNewSeqVal_SeqT_FV') and xtype='P')
begin
drop PROCEDURE P_GetNewSeqVal_SeqT_FV;
end
--判断列名是否存在 [两种方法]
IF EXISTS (SELECT O.NAME AS 表名,C.NAME AS 列名 FROM SYSOBJECTS O
INNER JOIN SYSCOLUMNS C ON O.ID=C.ID WHERE O.NAME= 'tblstmTaskList' AND C.NAME = 'Title')
PRINT 'EXISTS'
ELSE
PRINT 'NOT EXISTS'
--第二种:
IF COL_LENGTH( 'tblstmTaskList','Title') IS NULL
PRINT 'not exists'
ELSE
PRINT 'exists'
注:
对象类型:
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 = 内部表
if ($ != jQuery) {
$ = jQuery.noConflict();
}
相关文章推荐
- Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
- Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
- Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
- Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
- Sql中判断"库、表、列"是否存在
- Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在
- Sql中判断"库、表、列,视图,存储过程"是否存在
- Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在
- SQL 判断 临时表是否存在
- 判断MS SQLSERVER临时表是否存在
- T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)
- sql 判断 数据库 表 字段 是否存在
- sql 游标简单使用(判断临时表是否存在)
- sql判断临时表是否存在和创建临时表的方法
- SQL脚本判断数据库、函数、 存储过程等是否存在的方法
- 摘录:java和sql如何判断数据库是否存在
- SQL语句判断数据库、表、字段是否存在
- [SQL,Java]判断某一个已知表名的表是否在数据库中存在的方法
- sql 判断数据库,表,存储过程等是否存在的代码
- sql 查询所有数据库、表名、表字段总结,判断表/视图/存储过程是否存在