如何获得数据库里所有表的名字

如何获得数据库里所有表的名字
   由SQL Server管理的每个数据库里都有一个名为sysobjects的视图,它是system级别的,

所以它的全限定名是——sys.sysobjects  这张表里存储的不光是数据库里的表,它存储的是

一个数据库中所有的“对象”——包括了表的主键、存储过程、触发器等等,一共是24种——表

(Table,确切地说是“用户自定义表”)只是这24种对象中的一种:
执行下面的查询语句,可以得到所有包含在sys.sysobjects视图里的数据

   SELECT * FROM sys.sysobjects


得出数据后,注意名为type的列——这一列标明了对象的类型,也就是前面提到的24种。

  type
  AF = Aggregate function (CLR) 
  C = CHECK constraint 
  D = DEFAULT (constraint or stand-alone) 
  F = FOREIGN KEY constraint 
  FN = SQL scalar function 
  FS = Assembly (CLR) scalar function 
  FT = Assembly (CLR) table-valued function 
  IF = SQL inline table-valued function 
  IT = Internal table 
  P = SQL stored procedure 
  PC = Assembly (CLR) stored procedure 
  PK = PRIMARY KEY constraint 
  R = Rule (old-style, stand-alone) 
  RF = Replication-filter-procedure

  S = System base table 
  SN = Synonym 
  SQ = Service queue 
  TA = Assembly (CLR) DML trigger 
  TF = SQL table-valued-function 
  TR = SQL DML trigger 
  U = Table (user-defined) 
  UQ = UNIQUE constraint 
  V = View 
  X = Extended stored procedure 


我们要得到名称的表(用户自定义表)就是类型为“U”的对象;而sys.objects的类型为“S”。所以,

SQL语句应该是——
   SELECT name  FROM sys.sysobjects  WHERE type='U'
GO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值