OBJECT_ID: 
返回数据库对象标识号。

语法 
OBJECT_ID ( 'object' )

参数 
'object'

要使用的对象。object 的数据类型为 char 或 nchar。如果 object 的数据类型是 char,那么隐性将其转换成 nchar。

返回类型 
int

注释 
当该参数对系统函数可选时,则系统采用当前数据库、主机、服务器用户或数据库用户。内置函数后面必须跟圆括号。

1.如果指定一个临时表名,则必须在临时表名前面加上数据库名,例如:

SELECT OBJECT_ID('tempdb..#mytemptable')

系统函数可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。有关更多信息,请参见表达式和 WHERE。

示例 
2.下面的示例为 pubs 数据库中的 authors 表返回对象 ID。

USE master 
SELECT OBJECT_ID('pubs..authors')

下面是结果集:

----------- 
1977058079

(1 row(s) affected)

3.判断数据库对象是否存在

if object_id(N'对象名',N'对象类型') is not null  执行语句

可选对象类型:

AF = 聚合函数 (CLR)

C = CHECK 约束

D = DEFAULT(约束或独立)

F = FOREIGN KEY 约束

FN = SQL 标量函数

FS = 程序集 (CLR) 标量函数

FT = 程序集 (CLR) 表值函数

IF = SQL 内联表值函数

IT = 内部表

P = SQL 存储过程

PC = 程序集 (CLR) 存储过程

PG = 计划指南

PK = PRIMARY KEY 约束

R = 规则(旧式,独立)

RF = 复制筛选过程

S = 系统基表

SN = 同义词

SQ = 服务队列

TA = 程序集 (CLR) DML 触发器

TF = SQL 表值函数

TR = SQL DML 触发器

U = 表(用户定义类型)

UQ = UNIQUE 约束

V = 视图

X = 扩展存储过程

例子 :

删除用户表

if object_id(N'表名',N'U') is not null drop table 表名

删除存储过程

if object_id(N'存储过程名',N'P') is not null drop procedure 存储过程名

4.此方法一般用来判断数据库中本来用没有此对象(procedures,views,functions等),如在新建一个存储过程时我们可以看到这样的语句:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_send_email]') AND type in (N'P', N'PC'))

事先判断数据库中是否已经存在存储过程usp_send_email,

5.if object_id('tempdb.dbo.#TempTable') is not null 
drop table #TempTable
=
if object_id('tempdb..#TempTable') is not null 
drop table #TempTable
代表中间所有者默认为dbo

注意:object_id就是根据对象名称返回该对象的id.
  object_name是根据对象id返回对象名称.
  select object_id(对象名)等同于:
  select id from sysobjects where name=对象名

select object_name(id号)等同于:
  select name from sysobjects where id=id号

object_id的用法的更多相关文章

  1. MSSQL sqlserver系统函数教程分享

    摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...

  2. sqlserver函数教程

    sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介mssql sqlserver CHECKSUM_AGG聚合函数使用简介mssql sqlserver coun ...

  3. SQL SERVER-常用命令2

    1.创建新表 create table mytest ( id int primary key identity(1,1),--主键,自动+1 name varchar(20) unique notn ...

  4. object_id用法

    特别是在建表建存储过程的时候进场会写到: IF OBJECT_ID('Table_Test','U') IS NOT NULL DROP TABLE Table_Test 这种方式代替了以往所使用的 ...

  5. Oracle to_date()函数的用法

    Oracle to_date()函数的用法 to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,供您参考学习. 在Orac ...

  6. 关于oracle中to_char和to_date的用法

      一.24小时的形式显示出来要用HH24 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_date('200 ...

  7. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

  8. Oracle Hint 用法

    正确的语法是: select /*+ index(x idx_t) */ * from t x where x.object_id=123 /*+    */ 和注释很像,比注释多了一个“+”,这就是 ...

  9. SQL语句的用法

    1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNc ...

随机推荐

  1. 固定某一元素在某一位置 jquery

    方法: $(window).scroll(function (){}) 属性: 滚动变化值 $(window).scrollTop();$(window).scrollLeft(); 需要结合的样式: ...

  2. 【转】C# 解析JSON格式数据

    http://blog.csdn.net/coolszy/article/details/8606803 JSON简介 JSON(全称为JavaScript ObjectNotation) 是一种轻量 ...

  3. 哈哈,好像swift 以后有可能用来开发安卓喔

    好像swift  以后有可能用来开发安卓喔,哈哈

  4. 我的第一个chrome扩展(1)——读样例,实现时钟

    学习chrome扩展开发: 与网页类似,需要的知识:html,javascript chrome扩展程序的构成: manifest.json:对扩展程序的整体描述文件 { "manifest ...

  5. Ubuntu 设置Vim tab为四个空格

    使用root权限打开 /etc/vim/vimrc 添加下列配置 set tabstop= set softtabstop= set shiftwidth= set noexpandtab set n ...

  6. 设计模式:享元模式(Flyweight)

    定   义:运用共享技术有效地支持大量细粒度的对象. 结构图: 内部状态:在享元对象内部并且不会随环境而改变的共享部分. 外部状态:随环境改变而改变的.不可共享的状态. Flyweight类,具体享元 ...

  7. 设计模式:中介者模式(Mediator)

    定   义:用一个中介对象来封装一系列对象的交互.中介者使各个对象不需要显示地相互作用,从而耦合松散,而且可以独立的改变他们之间的交互. 结构图: Mediator类,抽象中介者类 abstract ...

  8. 强调语气<strong>和<em>标签,文字设置单独样式<span>

    区别:1,<em> 表示强调,<strong> 表示更强烈的强调. 2,并且在浏览器中<em> 默认用斜体表示,<strong> 用粗体表示. 3,两个 ...

  9. undefined reference to `switch_dev_unregister'

    编译内核时,使用默认的配置进行编译.出现错误:undefined reference to switch_dev_unregister',undefined reference toswitch_se ...

  10. Spring AOP 实现原理与 CGLIB 应用

    https://www.ibm.com/developerworks/cn/java/j-lo-springaopcglib/ AOP(Aspect Orient Programming),也就是面向 ...