2 wangyang000001 WANGYANG000001 于 2016.02.06 10:51 提问

Oracle的一个查询问题 5C

如何用sql语句查询指定表的约束名,约束类型,和其对应的列名;
还有如何用sql语句查询指定表指定列的约束名和约束信息.
是查询指定表。

5个回答

91program
91program   Ds   Rxr 2016.02.06 11:12
WANGYANG000001
WANGYANG000001 你给我的连接也没有找到答案
2 年多之前 回复
WANGYANG000001
WANGYANG000001 你给我的连接也没有找到答案
2 年多之前 回复
WANGYANG000001
WANGYANG000001 可是我没查到,百度这些有很多都是一些错误答案,对这些问题百度搜索不行
2 年多之前 回复
91program
91program 这种基本的知识,使用搜索引擎如 Baidu/Bing 都可以查到的,且有很多的答案
2 年多之前 回复
a1004032158
a1004032158   2016.02.06 11:01

create table testTable(
id number constraint testTable_id_pk
primary key,
fname varchar2(30) constraint
testTable_fname_uk unique,
sname varchar2(30) constraint
testTable_sname_nn not null,
salary number constraint
testTable_salary_ck check(salary>35000)

);

WANGYANG000001
WANGYANG000001 是查询,不是创建
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.06 11:01
  select constraint_name from dba_constraints
WANGYANG000001
WANGYANG000001 是指定表的指定列
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.06 11:02
 select * from dba_constraints
返回约束的各种属性
WANGYANG000001
WANGYANG000001 指定表的指定列,你这不是我要的答案
2 年多之前 回复
java_lover_2008
java_lover_2008   2016.02.06 12:57

1、查询所有用户对象的(至少有查询数据字典的权限):
SELECT * FROM ALL_CONS_COLUMNS;
SELECT * FROM ALL_CONSTRAINTS;

2、查询当前用
SELECT * FROM USER_CONS_COLUMNS;
SELECT * FROM USER_CONSTRAINTS;

以上均可查询到表的约束名,约束类型,约束对应的列等信息

WANGYANG000001
WANGYANG000001 但是怎么查询指定表的指定列呢
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQLQuery 查询Oracle char类型返回一个字符有关问题
SQLQuery 查询Oracle char类型返回一个字符问题   在使用Hibernate的原生态SQL对Oracle进行查询时,碰到查询char类型的时候始终返回的是一个字符,产生这个问题的主要原因确实是Hibernate再查询Oracle的时候,将char自动映射成character(varchar的子集)类型,现有以下几种解决方法:   1:将你要查询的实体转换成实体Bean
hibernate oracle char character 只查出一个
public List queryTradeConfirmBusinFlag() { final String sql = "select C_BUSINFLAG, C_BUSINNAME from tbusinflag"; return (List) getHibernateTemplate().execute(new HibernateCallback() { pu
oracle时间格式问题(查询)
时间格式很让人蛋疼 如果是按时间条件查询(TIME是列名) select * from SUP_DISEASESINFO where TIME=to_date('2010-6-23','YYYY-MM-DD') 下面也是一种情况 SELECT   STATIONNAME ,to_char(STARTTIME,'yyyy-mm-dd hh24:mi:ss')STARTIME  from AA
解决Oracle的Char只能读取第一个字符
项目组的同事提了一个疑问,如下图,pl/sql查询oracle数据库查出的值,在java端会被截取 到最后发现是Oracle的Char只能读取第一个字符 解决办法: public class ShineOracleDialect extends Oracle10gDialect{ /** * 构造函数. */ public ShineOr
Hibernate SQLQuery 查询Oracle char类型结果为一个字符的解决方法
遇到了这个问题 ,在网上搜了一下解决办法,经验证,完全正确;特转载一下:   在使用Hibernate的原生态SQL对Oracle进行查询时,碰到查询char类型的时候始终返回的是一个字符,开始认为应该是Hibernate在做映射的把数据类型给映射成char(1),在经过查找
Oracle获取表、视图的所有字段说明
当前需要获取一个视图的所有字段。 查了资料,发现,表及视图的结构信息都有。:all_tab_cols / all_tab_columns 查看所有用户下的表及视图结构 user_tab_cols / user_tab_columns 查看当前用户下的表及视图结构 user_col_comments 查看当前用户下表及视图中字段名称及字段注释 all_col_comments 查看所以用户下表及视
解决 oracle查询时char类型为character只显示一个字符的问题
select cast(XMDM as varchar(2)) from tbl;
Oracle表查询慢的问题(高水位)解决方案
最近工作中碰到一个问题,生产环境中某一张表查询变的好慢,而本地同样的镜像环境查询却很快,研究了半天都没有发现问题。  开会进行讨论,发现一条线索, 由于业务需求,这表中的大部分数据全部被delete删除了,只保留了2w. 因此,推断此问题很有可能就是表的高水位问题。 下面我们就来验证一下: 第一步,查询当前表的blocks大小 执行搜集统计 {CSDN:CODE:5548
极度诡异的oracle同一张表操作两次的问题
因为有一张表中,某几个字段是根据同一张表的另几个字段计算得来的,当时的思路是,先insert,再update这条记录 sql_insert=insert into t_cp_tv_value (Tv_prot_id,Cp_id,uv,unicast_value,mon_valu
oracle sql模糊查询时允许查询特殊字符
这个只是一个知识点作为记录,如果存在转义符就使用oracle的escape字段,此字段是用来定义转义符的 例如:select * from tb_vlan tv where tv.name like '%3/%%' escape '/'这样查询出来的结果可以是13%2