--判断数据库是否存在
IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = ''库名'')
PRINT ''exists ''
else
PRINT ''not exists''
-- 判断要创建的表名是否存在
IF EXISTS (Select * From sysObjects Where Name =''表名'' And Type In (''S'',''U''))
PRINT ''exists''
ELSE
PRINT ''not exists''
GO
--判断要创建临时表是否存在
If Object_Id( ''Tempdb.dbo.#Test'') Is Not NULL--#Test 为临时表名
Begin
print ''存在 ''
End
Else
Begin
print ''不存在 ''
End
---------------
-- 判断要创建的存储过程名是否存在
IF EXISTS (Select * From sysObjects Where Name =''存储过程名'' And Type In (''S'',''P''))
PRINT ''exists''
ELSE
PRINT ''not exists''
GO
-- 判断列名是否存在
IF EXISTS (SELECT O.NAME AS 表名,C.NAME AS 列名
FROM SYSOBJECTS O INNER JOIN SYSCOLUMNS C ON O.ID=C.ID
WHERE O.NAME= ''表名'' AND C.NAME = ''列名'')
SELECT ''EXISTS''
ELSE
SELECT ''NOT EXISTS''
判断表名存在的一个函数
IF COL_LENGTH( ''表名'',''列名'') IS NULL
PRINT ''not exists''
ELSE
PRINT ''exists''
注: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 = 同义词
SQ = 服务队列
TA = 程序集 (CLR) DML 触发器
TR = SQL DML 触发器
IF = SQL 内联表值函数
TF = SQL 表值函数
U = 表(用户定义类型)
UQ = UNIQUE 约束
V = 视图
X = 扩展存储过程
IT = 内部表
相关文章
- Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在
- sql server判断数据库、表、列、视图是否存在
- Sql中判断"库、表、列,视图,存储过程"是否存在
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
- SQL语句判断指定的数据库、表、字段、存储过程是否存在
- Delphi中access和sql数据库分别判断一个表中某字段是否存在
- sql server判断数据库、表、列、视图是否存在
- SQL 中 判断 表 或 临时表 是否 存在
- SqlServer判断数据库、表、字段、存储过程、函数是否存在
- SQL 判断 ‘表,存储过程,函数 ...’ 已是否存在