我是靠谱客的博主 壮观学姐,最近开发中收集的这篇文章主要介绍通过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系统表获取表主键所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部