在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.
   object_id就是根据对象名称返回该对象的id.
   反之,object_name是根据对象id返回对象名称.

select object_id(对象名)等同于:
select id from sysobjects where name=对象名
注: 如果参数是一个临时表名,则必须指定所属数据库.你举出的OBJECT_ID('Tempdb..#flowcount') 就属于这种情况.说明这个临时表是数据库Tempdb的.

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

例如:
//Tempdb系统数据库(不可更换成其他数据库)
if object_id('Tempdb..#Lin') is not null //说明这个数据库里存在这个临时表
begin
  drop table #Lin
end
else
begin
  create table #Lin(……)
end

posted on 2012-07-19 15:01  成天狂  阅读(217)  评论(0编辑  收藏  举报