zoukankan      html  css  js  c++  java
  • 如何获得数据库里所有表的名字

    如何获得数据库里所有表的名字
       由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

  • 相关阅读:
    OpenGL完整实例
    OpenGL
    Socket(2)
    Socket(1)
    Stream,Reader/Writer,Buffered的区别(2)
    Stream,Reader/Writer,Buffered的区别(1)
    SQLite数据库与Contentprovider(2)
    SQLite数据库与Contentprovider(1)
    数据存储和访问
    AIDL与service
  • 原文地址:https://www.cnblogs.com/puresoul/p/1690985.html
Copyright © 2011-2022 走看看