在oracle中查询已知表名的表中所有字段名,每个字段是否是主键,是否是外键,是否为空的sql语句

查询表的所有列及其属性:select  t.*,c.COMMENTS from user_tab_columns  t,user_col_comments  c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = women;查找表的主键:select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = ‘P‘ and au.table_name = women; 查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):select * from user_constraints c where c.constraint_type = ‘R‘ and c.table_name = women  查询外键约束的列名:   select * from user_cons_columns cl where cl.constraint_name = 外键名称;查询引用表的键的列名:   select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名;
时间: 2024-10-06 00:23:23

在oracle中查询已知表名的表中所有字段名,每个字段是否是主键,是否是外键,是否为空的sql语句的相关文章

Oracle生成查询包括对应于所有数据表记录语句中指定的字段名

应用:已知的字段名,表中的所有数据的查询数据库中包含的所有数据表的字段名 操作方法:指定字段名,用户数据库表,它可以执行以下查询 --Oracle生成查询包括对应于所有数据表记录语句中指定的字段名 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,执行前改动成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库username变量,执行前改动成您要查询的数据库username

Oracle层次查询和分析函数在号段选取中的应用

转自:http://www.itpub.net/thread-719692-1-1.html 摘要一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的数?知道一个大的号段范围和已经取过的号段,如何求出可用的号段?利用Oracle提供的强大的查询功能以及分析函数,我们可以很轻松的解决上述问题. 关键词:号段选取.连续数.断点.层次查询.分析函数.connect by.rownum.level.lead.lag 1.        问题的提出在实际工

已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历

[题解整理]二分题 题目类型: 二分查找: 二分答案. 大致解题思路: 查找注意有序和返回值: 浮点数注意精度: 整数注意返回值,建议另外维护一个变量,用于储存可行解. 题目 分类 传送门 WA点 poj 2785 二分查找 题解 lightoj 1088 二分查找 题解 lightoj 1307 二分查找 题解 longlong poj 2456 整数二分答案 题解 poj 3104 整数二分答案 题解 poj 3258 整数二分答案 题解 poj 3273 整数二分答案 题解 lightoj

oracle 中查询当前用户可以看到的表名、表对应的所有字段 原

转自:https://my.oschina.net/u/3783799/blog/2870207 1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments  from user_tables t inner join user_tab_comments f    on t.table_name = f.table_name 2.oracle 查询某表的所有字段,字段注释,字段类型 SELECT a.TABLE_NAME, a.COLUMN_N

在Excel中,已知身份证号码,如何批量计算其实际年龄?

昨天,上司问我:..,你会在Excel中计算年龄吗?当时,一下促住了.说真的,还真不会.今天研究了一下,写下来,方便日后查看. 首先,得有一张已知姓名和相应身份证号的原表吧. 在这张表上再加上三列:出生年份.现在年份.年龄 现在年份当然是2017啦,这个很好解决.那么出生年份呢?可以很清楚的知道,在身份证上,从第7位开始之后4位是出生年份,所以来第一个函数:=MID(B2,7,4) 可以得到: 下拉一下,所有的出身年份就都出来了 现在计算年龄,来一个很简单的公式:=D2-C2 enter后下拉一

C# 序列化过程中的已知类型(Known Type)

WCF下的序列化与反序列化解决的是数据在两种状态之间的相互转化:托管类型对象和XML.由于类型定义了对象的数据结构,所以无论对于序列化还是反序列化,都必须事先确定对象的类型.如果被序列化对象或者被反序列化生成的对象包含不可知的类型,序列化或者反序列化将会失败.为了确保DataContractSerializer的正常序列化和反序列化,我们需要将“未知”类型加入DataContractSerializer“已知”类型列表中. 一.未知类型导致序列化失败 .NET的类型可以分为两种:声明类型和真实类

MySql数据库在表中添加新字段,设置主键,设置外键,字段移动位置,以及修改数据库后如何进行部署和维护的总结

1,为当前已有的表添加新的字段 alter table student add studentName varchar(20) not null; 2,为当前已有的表中的字段设置为主键自增 alter table student add constraint PK_studentId primaryKey(studentId); 3,为当前已有的表中的字段设置为外键 alter table student add constraint FK_teacherId_studentInfo forei

Oracle数据库里面查询字符串类型的字段不为空和为空的SQL语句:

一:查询字符串类型的字段的值不为空的SQL: [sql] view plaincopy select * from TB_CMS_FLGTINFO_A t where (t.fsta is not null and t.fsta <>' '); 主:上面的TB_CMS_FLGTINFO_A是表名,fsta是表中的字段 二:查询字符串类型的字段的值为空的SQL: [sql] view plaincopy select * from TB_CMS_FLGTINFO_A t where (t.fst

获取引用某个主键的所有外键的表

在数据库中, 碰到删除一张表的时候,有时候会提示主键已经被其他表外键引用.不能删除.如果某个主键被引用的次数多了, 删除起来一个一个找的话,还是浪费时间的. 如果使用的是Oracle的数据库, 可以查询Oracle中的 系统表 USER_CONSTRAINTS SELECT * FROM R_CONSTRAINT_NAME WHERE R_CONSTRAINT_NAME = '被引用的主键约束' 扩展一下, 如果还想知道 具体引用表的哪个字段引用了这个主键. SELECT B.TABLE_NAM