微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ms Sqlserver与Oralce取得表的列信息与外键信息

@H_502_1@

 

取得Ms sqlServer数据库中某张表的所有列:

 

SELECT sysobjects.name AS TABLENAME,
    syscolumns.NAME as NAME,
    systypes.name VTYPE,
    syscolumns.LENGTH,
    syscolumns.XPREC,
    syscolumns.XSCALE,
     isnullable,
     cdefault
 FROM syscolumns,sysobjects,systypes
 WHERE  syscolumns.id = sysobjects.id and
   syscolumns.xtype = systypes.xtype and
   sysobjects.type='U' and
   sysobjects.name = 表名

 

取得Oracle数据库某张表的所有列:

 

SELECT TNAME AS TABLENAME,
   CNAME AS NAME,
   COLTYPE AS VTYPE,
   WIDTH AS LENGTH,
   PRECISION AS XPREC,
   SCALE AS XSCALE,
   NULLS AS isnullable,
   DEFAULTVAL AS cdefault
 FROM COL
 WHERE TNAME = 表名;

 

 

取得Ms sqlserver数据库的所有外键信息

 

select  
   b.name as key_name,
   a.name as name,
   d.name as f_name

  from   sysobjects   a   join   sysobjects   b   on   a.id=b.parent_obj  
  join   sysforeignkeys   c   on   b.id=c.constid  
  join   sysobjects   d   on   c.rkeyid=d.id  
  join   sysindexkeys   e   on   d.id=e.id  
  join   syscolumns   f   on   a.id=f.id   and   e.colid=f.colid  
  where     b.xtype='F'

 

取得Oracle数据库的所有外键信息:

 

select all_constraints.constraint_name as key_name,   all_constraints.table_name as name,   all_indexes.table_name as f_namefrom all_constraints,all_indexeswhere  constraint_name like 'FK%'and all_constraints.r_constraint_name = all_indexes.index_name

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐