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

比如查询某表是否有某字段

select * from syscolumns where [id]=object_id('shop_voice') and [name]='voice6_id'

 select object_id('shop_voice')


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号

 

sys.columns 也是查询字段好像字段比 syscolumns 查出来的少    sys.objects syscolumns 里面包含所有表和字段主键什么的

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-06
猜你喜欢
  • 2022-12-23
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案