oracle 查询主表有那些子表

oracle查询主表有那些子表比如pi_hdr子表有pi_dtlpi_dtl子表有pi_color我要根据pi_hdr把pi_dtl查询出来。然后根据pi_color查询... oracle 查询主表有那些子表
比如 pi_hdr 子表有 pi_dtl
pi_dtl 子表有 pi_color
我要根据pi_hdr
把pi_dtl 查询出来。 然后根据pi_color 查询出来。
求sql
展开
 我来答
可以叫我表哥
推荐于2018-03-28 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464973
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
获取表字段:
select *
from user_tab_columns
where Table_Name='用户表'
order by column_name
获取表注释:
select *
from user_tab_comments
where Table_Name='用户表'
order by Table_Name
获取字段注释:
select *
from user_col_comments
where Table_Name='用户表'
order by column_name

/* 获取表:*/
select table_name from user_tables; //当前用户的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='zfxfzb'
/*
user_tables:
table_name,tablespace_name,last_analyzed等
dba_tables:
ower,table_name,tablespace_name,last_analyzed等
all_tables:
ower,table_name,tablespace_name,last_analyzed等
all_objects:
ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等
*/
/* 获取表字段:*/
select * from user_tab_columns where Table_Name='用户表';
select * from all_tab_columns where Table_Name='用户表';
select * from dba_tab_columns where Table_Name='用户表';
/* user_tab_columns:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
all_tab_columns :
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
dba_tab_columns:
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
*/
/* 获取表注释:*/
select * from user_tab_comments
/*
user_tab_comments:table_name,table_type,comments
相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。
*/
/* 获取字段注释:*/
select * from user_col_comments
/*
user_col_comments:table_name,column_name,comments
相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列。
*/
百度网友b110aef71
推荐于2016-07-02
知道答主
回答量:17
采纳率:0%
帮助的人:7.9万
展开全部
虽然主表同子表在oracle数据库中并无关系,但一般设计主表、子表都会有相同的字段进行业务上的关联,因此请参考all_tab_columns这个数据字典。
建议sql:
select table_name from all_tab_columns
where column_name in
(select column_name from all_tab_columns
where table_name='PI_HDR')
and table_name <>'PI_HDR'
查询出来的表需要你根据业务去剔除无关的表即是子表
================
查询出来有重复的话请剔重!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stand32
2012-01-15 · TA获得超过141个赞
知道答主
回答量:66
采纳率:0%
帮助的人:53.4万
展开全部
这个跟sql没有太大关系,找你们的建模人员要一份模型文档就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式