概述
场景:需要将Oracle的数据抽取至kudu中,首先需要在kudu中对应建立与Oracle数据库对应的表。
使用kettle工具设计任务。
- 在表输入组件中,连接Oracle数据库后,SQL语句结尾处不加“;”,否则执行语句时报错。
- 查询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系统表获取表主键所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复