我是靠谱客的博主 壮观学姐,这篇文章主要介绍通过Oracle系统表获取表主键,现在分享给大家,希望可以做个参考。

场景:需要将Oracle的数据抽取至kudu中,首先需要在kudu中对应建立与Oracle数据库对应的表。

使用kettle工具设计任务。

  1. 在表输入组件中,连接Oracle数据库后,SQL语句结尾处不加“;”,否则执行语句时报错。
  2. 查询Oracle主键的SQL语句

SELECT  col.column_name
from
 all_constraints con,all_cons_columns col
where
 con.constraint_name=col.constraint_name and con.constraint_type='P'
and col.table_name='TABLE_NAME' and col.owner='DB_NAME' AND con.owner=' DB_NAME'

其中,all_constraints和all_cons_columns表是Oracle的系统表,其中all_cons_columns表中字段包含表用户、表名和主键名称。all_constraints包含表的用户、约束名、约束名称等。
值得注意的是user_constraints和user_cons_columns表示当前用户的信息,all_constraints和all_cons_columns表示的是所有用户的表信息。
如果只是查询当前用户的表主键信息,SQL语句可以简化为:
Select  col.column_name
from
 all_constraints con,all_cons_columns col
where
 con.constraint_name=col.constraint_name and con.constraint_type='P'
 and col.table_name='TABLE_NAME'
 

最后

以上就是壮观学姐最近收集整理的关于通过Oracle系统表获取表主键的全部内容,更多相关通过Oracle系统表获取表主键内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部