有时我们需要一个查询表主键外键信息的SQL语句,下面就将为您介绍该语句的写法,如果您对此有兴趣的话,不妨一看。

下文为您介绍Oracle及SQL Server两种数据库中查询表主键外键信息的SQL语句写法,供您参考,希望对您学习SQL语句的使用有所启迪。

两种数据库中查询表主键外键信息的SQL语句(sql表主键和外键)  SQL语句 第1张

Oracle:

  1. selecto.obj#asobjectId,o.nameAStableName,oc.nameASconstraintName,
  2. decode(c.type#,1,'C',2,'P',3,'U',
  3. 4,'R',5,'V',6,'O',7,'C','?')asconstraintType,
  4. col.nameAScolumnName
  5. fromsys.con$oc,sys.con$rc,
  6. sys.obj$ro,sys.obj$o,sys.obj$oi,
  7. sys.cdef$c,
  8. sys.col$col,sys.ccol$cc,sys.attrcol$ac
  9. whereoc.con#=c.con#
  10. andc.obj#=o.obj#
  11. andc.rcon#=rc.con#(+)
  12. andc.enabled=oi.obj#(+)
  13. andc.robj#=ro.obj#(+)
  14. andc.type#!=8
  15. andc.type#!=12/*don'tincludeloggroups*/
  16. 字串9
  17. andc.con#=cc.con#
  18. andcc.obj#=col.obj#
  19. andcc.intcol#=col.intcol#
  20. andcc.obj#=o.obj#
  21. andcol.obj#=ac.obj#(+)
  22. andcol.intcol#=ac.intcol#(+)
  23. ando.name='yourtable'

SQL Server:

  1. SELECTsysobjects.idobjectId,
  2. OBJECT_NAME(sysobjects.parent_obj)tableName,
  3. sysobjects.nameconstraintName,
  4. sysobjects.xtypeASconstraintType,
  5. syscolumns.nameAScolumnName
  6. FROMsysobjectsINNERJOINsysconstraints
  7. ONsysobjects.xtypein('C','F','PK','UQ','D')
  8. ANDsysobjects.id=sysconstraints.constid
  9. LEFTOUTERJOINsyscolumnsONsysconstraints.id=syscolumns.id
  10. WHEREOBJECT_NAME(sysobjects.parent_obj)='yourtable'

【编辑推荐】

修改SQL主键约束的SQL语句写法

对存储过程代替SQL语句的讨论

试SQL语句执行时间的方法

SQL语句中的SELECT DISTINCT

如何使用SQL语句修改字段默认值

转载请说明出处
知优网 » 两种数据库中查询表主键外键信息的SQL语句(sql表主键和外键)

发表评论

您需要后才能发表评论