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. linux回到上次目录与历史命令查找快捷方式

    # cd -进入上次访问目录 二.历史命令搜索操作快捷键:[Ctrl + r], [Ctrl + p], [Ctrl + n] 在终端中按捉 [Ctrl] 键的同时 [r] 键,出现提示:(rever ...

  2. Delphi 如何操作外部程序的控件(如按钮,文本框,单选按钮等)

    看你要做什么,比较现在网络很流行的QQ.MSN这些软件都屏蔽了,你可能还可以访问一些小软件的这些控制,思路及方案如下(API函数自己去百度查一下)1.得到你要这个窗口的句柄 使用FindWindow2 ...

  3. iOS简单排序--字母排序、NSDictionary排序

    // 数组用系统方法compare做字母的简单排序 NSArray *oldArray = @[@"bac",@"bzd",@"azc",@ ...

  4. centos FTP服务器的架设和配置

    yum install vsftpd 2.启动/重启/关闭vsftpd服务器 [root@localhost ftp]# /sbin/service vsftpd restart Shutting d ...

  5. Qt编写自定义控件大全(liudianwu)

    http://www.cnblogs.com/feiyangqingyun/p/6128288.html http://www.qtcn.org/bbs/read-htm-tid-62279.html

  6. Android OpenGL ES 开发教程 从入门到精通

    感谢,摘自:http://blog.csdn.net/mapdigit/article/details/7526556 Android OpenGL ES 简明开发教程 Android OpenGL ...

  7. Ubuntu 12.04+DarwinStreamingSrvr6.0.3 架设流媒体服务器

    1.安装Ubuntu 12.04操作系统,网上很多教程.. 2.打开终端,下载darwin源代码DarwinStreamingSrvr6.0.3-Source.tar,补丁patch dss-6.0. ...

  8. VMware中CentOS设置静态IP

    因为之前搭建的MongoDB分片没有采用副本集,最近现网压力较大,所以准备研究一下,于是在自己电脑的虚拟机中搭建环境,但是发现之前VMware设置的是DHCP,所以每次重新resume后虚拟机中IP都 ...

  9. jQuery控制DOM对象

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  10. c# ini file

    ini文件主要用于保存配置.之前一直以为是当作普通文本进行操作,读取里面的内容,再自己解析读取的文本.后来发现已经有写好的api函数:WritePrivateProfileString()和GetPr ...