博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Informix数据表结构分析资料整理之约束查询代码
阅读量:5150 次
发布时间:2019-06-13

本文共 1970 字,大约阅读时间需要 6 分钟。

原文地址:

本文主要整理了Informix数据库相关系统表数据,已分析整个Informix数据表结构,同时方便代码自动生成.

提示一:systables 存放Informix数据库中所有数据表相关数据

提示二:sysconstraints 存放Informix数据库中所有约束相关数据

--获取所有用户表的主键约束名称
select a.tabname,b.constrname,b.* from systables a  join sysconstraints b on a.tabid=b.tabid   where a.tabid >99 and a.tabtype='T' and b.constrtype ='P' order by a.tabname
--获取所有未设置主键的用户数据表OK
Select * from systables a where tabid >99 and tabtype='T' and not exists (Select 1 from sysconstraints b where a.tabid=b.tabid and b.constrtype ='P');

--获取所有用户表的外键约束名称

select a.tabname,b.constrname from systables a  join sysconstraints b on a.tabid=b.tabid   where a.tabid >99 and a.tabtype='T' and b.constrtype ='R' order by a.tabname
--获取所有未设置外键约束的用户数据表OK
Select * from systables a where tabid >99 and tabtype='T' and not exists (Select 1 from sysconstraints b where a.tabid=b.tabid and b.constrtype ='R');

--获取所有用户表的检查约束名称

select a.tabname,b.constrname from systables a  join sysconstraints b on a.tabid=b.tabid   where a.tabid >99 and a.tabtype='T' and b.constrtype ='C' order by a.tabname
--获取所有未设置检查约束的用户数据表OK
Select * from systables a where tabid >99 and tabtype='T' and not exists (Select 1 from sysconstraints b where a.tabid=b.tabid and b.constrtype ='C');

--获取所有用户表的唯一约束名称

select a.tabname,b.constrname from systables a  join sysconstraints b on a.tabid=b.tabid   where a.tabid >99 and a.tabtype='T' and b.constrtype ='U' order by a.tabname
--获取所有未设置唯一约束的用户数据表OK
Select * from systables a where tabid >99 and tabtype='T' and not exists (Select 1 from sysconstraints b where a.tabid=b.tabid and b.constrtype ='U');

--获取所有用户表的非空约束名称

select a.tabname,b.constrname from systables a  join sysconstraints b on a.tabid=b.tabid   where a.tabid >99 and a.tabtype='T' and b.constrtype ='N' order by a.tabname
--获取所有未设置非空约束的用户数据表OK
Select * from systables a where tabid >99 and tabtype='T' and not exists (Select 1 from sysconstraints b where a.tabid=b.tabid and b.constrtype ='N');

转载于:https://www.cnblogs.com/catkins/p/5396346.html

你可能感兴趣的文章
Swift 入门之简单语法(六)
查看>>
shim和polyfill有什么区别
查看>>
〖Python〗-- IO多路复用
查看>>
栈(括号匹配)
查看>>
Java学习 · 初识 面向对象深入一
查看>>
源代码如何管理
查看>>
vue怎么将一个组件引入另一个组件?
查看>>
bzoj1040: [ZJOI2008]骑士
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty's Blocks
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
django知识点总结
查看>>
C++ STL stack、queue和vector的使用
查看>>