在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