[MSSQL]SQL Server OBJECT_ID用法-判断对象是否存在
2015-10-21 13:32
846 查看
OBJECT_ID ( ‘[ database_name . [ schema_name ] . | schema_name . ] object_name’ [ ,’object_type’ ] )
当指定临时表名时,除非当前数据库为 tempdb,否则必须在该临时表名之前加上数据库名称。例如:SELECT OBJECT_ID(‘tempdb..#mytemptable’)。
object_type 对象类型:
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 = 内部表
1、判断临时表是否存在
if object_id(‘tempdb..#q’,’U’) is not null
drop table #q
go
2、判断表是否存在
if object_id(‘AdventureWorks.dbo.q’,’U’) is not null
drop table dbo.q
go
IF EXISTS
(SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N’T1’) AND OBJECTPROPERTY(ID, N’ISUSERTABLE’) = 1)
DROP TABLE dbo.T1;
3、判断存储过程是否存在
IF OBJECT_ID ( ‘AdventureWorks.dbo.usp_GetErrorInfo’, ‘P’ ) IS NOT NULL
DROP PROCEDURE dbo.usp_GetErrorInfo;
GO
来自:http://blog.itpub.net/10527166/viewspace-683320/
当指定临时表名时,除非当前数据库为 tempdb,否则必须在该临时表名之前加上数据库名称。例如:SELECT OBJECT_ID(‘tempdb..#mytemptable’)。
object_type 对象类型:
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 = 内部表
1、判断临时表是否存在
if object_id(‘tempdb..#q’,’U’) is not null
drop table #q
go
2、判断表是否存在
if object_id(‘AdventureWorks.dbo.q’,’U’) is not null
drop table dbo.q
go
IF EXISTS
(SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N’T1’) AND OBJECTPROPERTY(ID, N’ISUSERTABLE’) = 1)
DROP TABLE dbo.T1;
3、判断存储过程是否存在
IF OBJECT_ID ( ‘AdventureWorks.dbo.usp_GetErrorInfo’, ‘P’ ) IS NOT NULL
DROP PROCEDURE dbo.usp_GetErrorInfo;
GO
来自:http://blog.itpub.net/10527166/viewspace-683320/
相关文章推荐
- 常用的Objective-C第三方库(更新中)
- 使用vectorizer.fit_transform时出现AttributeError: 'file' object has no attribute 'lower'
- Swift与Objective-C
- Windows下的Objective-C集成开发环境(IDE)
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
- [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- Java总结篇系列:java.lang.Object
- AsyncTask java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.Void[] 异常
- Xcode7编译遇到building for iOS simulator, but linking in object file built for OSX, for architectu问题解决方案
- Objective-C Foundation框架实践——NSNumber(一)
- An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
- Object类型数据转换成Long类型数据
- 简单图书管理实现
- 常见的Objective-C笔试题
- Android原生json类org.json.JSONObject初步使用
- Objective-C 协议(protocol)
- iOS开发笔记--Objective-C实现多继承
- Objective-C 程序设计 第四章
- [转]查看处于被锁状态的表:v$locked_object dba_objects v$session all_objects v$sqlarea v$lock