zoukankan      html  css  js  c++  java
  • SQL 查询业务库_SQL 查询数据字典_sql查询表结构,过程,视图,主键,外键,约束

    SQL 查询业务库

    -- 查询非系统数据库

    Select name FROM Master.. SysDatabases where dbid>4


    -- 选择water数据库下的所有表
    use [water] SELECT name FROM sysobjects WHERE xtype = 'U' Or xtype = 'S'

    -- 选择water数据库下的所有用户表
    use [water] SELECT name FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped'= 0

    -- 查询water数据库下的admin表的字段名,长度,类型,字段说明
    use [water] SELECT a.[name] as '字段名',a.length '长度',c.[name] '类型',e.value as '字段说明' FROM syscolumns  a 
    left   join    systypes    b   on      a.xusertype=b.xusertype 
    left     join     systypes     c     on      a.xtype = c.xusertype 
    inner   join   sysobjects  d   on      a.id=d.id     and   d.xtype='U' 
    left join sys.extended_properties e on a.id = e.major_id and a.colid = e.minor_id and e.name='MS_Description'
    where d.name='admin'

    SQL 查询数据字典


    select name from sysobjects where xtype='TR' --所有触发器
    select name from sysobjects where xtype='P' --所有存储过程
    select name from sysobjects where xtype='V' --所有视图
    select name from sysobjects where xtype='U' --所有表

    以上为SqlServer用法

    Select object_name From user_objects Where object_type='TRIGGER'; --所有触发器
    Select object_name From user_objects Where object_type='PROCEDURE'; --所有存储过程
    Select object_name From user_objects Where object_type='VIEW'; --所有视图
    Select object_name From user_objects Where object_type='TABLE'; --所有表

    以上为Oracle用法

    sql查询表结构,过程,视图,主键,外键,约束

    一、表结构查询

    SELECT TOP (100) PERCENT a.name AS zdm,COLUMNPROPERTY(a.id, a.name, 'IsIdentity') AS bs ,
    CASE WHEN EXISTS (SELECT 1 FROM dbo.sysindexes si INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
     AND si.indid = sik.indid INNER JOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid
     INNER JOIN dbo.sysobjects so ON so.name = so.name AND so.xtype = 'PK' WHERE sc.id = a.id AND sc.colid = a.colid)
     THEN '1' ELSE '0' END AS zj , b.name AS lx, a.length AS cd, COLUMNPROPERTY(a.id, a.name,'PRECISION')
     AS jd, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS xsws,a.isnullable AS yxk, ISNULL(e.text, '')
      AS mrz, ISNULL(g.value, '') AS zdsm FROM dbo.syscolumns AS a LEFT OUTER JOIN dbo.systypes AS b ON a.xtype = b.xusertype
      INNER JOIN dbo.sysobjects AS d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0 LEFT OUTER JOIN
       dbo.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN sys.extended_properties AS g
       ON a.id = g.major_id AND a.colid = g.minor_id LEFT OUTER JOIN sys.extended_properties
       AS f ON d.id = f.major_id AND f.minor_id = 0  where d .name='查询的表名'

    二、
    -- 查询存储过程
    select CASE a.xtype  WHEN 'p' THEN '存储过程' end as lx ,a.name, b.text from sysobjects a left outer join syscomments b on a.id = b.id where xtype='p'
    --查询视图
    select  CASE a.xtype  WHEN 'v' THEN '视图' end as lx,a.name , b.text from sysobjects a left outer join syscomments b on a.id = b.id where xtype='v'

    --主键,外键,约束
    select
    CASE a.xtype  WHEN 'PK' THEN '主键' WHEN 'F' THEN '外键' WHEN 'C' THEN '约束'
    END AS lx,a.name AS name,
    b.text from sysobjects a left outer join syscomments b on a.id = b.id
    where (a.xtype IN ( 'C',  'F','PK')) AND
    (OBJECTPROPERTY(a.id, N'IsMSShipped') = 0) and a.parent_obj=(select id from sysobjects where name = 'table_2')

    环境是用的sql2008

    其中涉及到的表  与视图  过程的名称在sql的帮助中能够查到明细

  • 相关阅读:
    2018/01/01Java基础学习——如何通过dos系统的javadoc命令生成API文档
    Go语言的big包实现大整数运算
    HDU5100 Chessboard【组合数学】
    HDU5143 NPY and arithmetic progression【暴力】
    UVALive5402 UVA579 Clock Hands【水题】
    UVA11799 Horror Dash【求极值+水题】
    HDU1017 ZOJ1152 A Mathematical Curiosity【暴力】
    UVALive2536 POJ1248 HDU1015 ZOJ1403 Safecracker【密码+暴力】
    POJ1284 Primitive Roots【原根】
    UVA11340 Newspaper【输入流+map】
  • 原文地址:https://www.cnblogs.com/huangjihua/p/4125210.html
Copyright © 2011-2022 走看看