oracle中从4个表查询数据并插入到另一张表里 扩展到查询到的数据和其他数据共同插入
2017-06-28 20:11
573 查看
因为业务的需要,现在需要查询4个表里的数据并插入到另一个表内且对应自己想要对应的列。
且表的id应该是根据序列自动生成。
具体创建序列什么的都不说了,直接上代码,字段都没改,最近太忙了。
今天又用到,查询到的数据和不属于查找的数据一起插入表内,实现如下:
insert into TB_POST_RANK_MAINTAIN
(id, ORG_CODE, ORG_NAME, DEPT_ID, DEPT_NAME, POST_CODE,
POST_NAME, TRANSITION_POST_SEQ,APPLY_USER_ID, APPLY_USER_NAME,
APPLY_ORG_ID, APPLY_STATUS, APPLY_DATE)
(select seq_post_rank_maintain.nextval id, a.UNIT_CODE_0, a.UNIT_NAME_0,
a.DEPT_CODE_0, a.DEP_NAME_0, a.POST_CODE_0, a.POST_NAME_0, a.POST_SEQUENCE,
'aaa', 'bbb', 'ccc','aaa','aaa','2016-01-01'
from dual, TB_POST_REQUIRE_INFO a)在mybatis的xml中实现如下:
<!-- 插入岗位需求信息 -->
<insert id="pushPostRequire" databaseId="oracle" parameterType="PostRequire" flushCache="true">
insert into TB_POST_RANK_MAINTAIN
(id, ORG_CODE, ORG_NAME, DEPT_ID, DEPT_NAME, POST_CODE,
POST_NAME, TRANSITION_POST_SEQ,APPLY_USER_ID, APPLY_USER_NAME,
APPLY_ORG_ID, APPLY_STATUS, APPLY_DATE)
(select seq_post_rank_maintain.nextval id, a.UNIT_CODE_0, a.UNIT_NAME_0,
a.DEPT_CODE_0, a.DEP_NAME_0, a.POST_CODE_0, a.POST_NAME_0, a.POST_SEQUENCE,
#{sub_user_id,jdbcType=VARCHAR}, #{sub_user_name,jdbcType=VARCHAR}, #{sub_org_id,jdbcType=VARCHAR},
#{status,jdbcType=VARCHAR}, SYSDATE
from dual, TB_POST_REQUIRE_INFO a)
</insert>
且表的id应该是根据序列自动生成。
具体创建序列什么的都不说了,直接上代码,字段都没改,最近太忙了。
insert into TB_POST_REQUIRE_INFO (id, BENCHMARK_POST_CODE, BENCHMARK_POST_NAME, POST_SEQUENCE, POST_RANK, SUPERBENCHMARK_POST_CODE, PROVINCE_NO, DEP_NAME_0, POST_CODE_0, POST_NAME_0, DEPT_CODE_0, unit_code_0, REVOKE_FLAG, unit_id_0, UNIT_NAME_0) (select seq_post_require_info.nextval id, a.BENCHMARK_POST_CODE BENCHMARK_POST_CODE, a.BENCHMARK_POST_NAME BENCHMARK_POST_NAME, a.POST_SEQUENCE POST_SEQUENCE, a.POST_RANK POST_RANK, a.SUPERBENCHMARK_POST_CODE SUPERBENCHMARK_POST_CODE, a.PROVINCE_NO PROVINCE_NO, b.DEPT_NAME DEP_NAME_0, c.POST_CODE POST_CODE_0, c.POST_NAME POST_NAME_0, c.DEPT_CODE DEPT_CODE_0, c.ORG_CODE unit_code_0, c.REVOKE_FLAG REVOKE_FLAG, d.ORG_ID unit_id_0, d.ORG_NAME UNIT_NAME_0 from dual, TB_BENCHMARK_JOB_INTERFACE a, TB_DEPT_INTERFACE b, TB_POST_INTERFACE c, T_SYS_ORG d where A.BENCHMARK_POST_CODE = C.BENCHMARK_POST_CODE and B.DEPT_CODE = C.DEPT_CODE and D.ORG_CODE = C.ORG_CODE)
今天又用到,查询到的数据和不属于查找的数据一起插入表内,实现如下:
insert into TB_POST_RANK_MAINTAIN
(id, ORG_CODE, ORG_NAME, DEPT_ID, DEPT_NAME, POST_CODE,
POST_NAME, TRANSITION_POST_SEQ,APPLY_USER_ID, APPLY_USER_NAME,
APPLY_ORG_ID, APPLY_STATUS, APPLY_DATE)
(select seq_post_rank_maintain.nextval id, a.UNIT_CODE_0, a.UNIT_NAME_0,
a.DEPT_CODE_0, a.DEP_NAME_0, a.POST_CODE_0, a.POST_NAME_0, a.POST_SEQUENCE,
'aaa', 'bbb', 'ccc','aaa','aaa','2016-01-01'
from dual, TB_POST_REQUIRE_INFO a)在mybatis的xml中实现如下:
<!-- 插入岗位需求信息 -->
<insert id="pushPostRequire" databaseId="oracle" parameterType="PostRequire" flushCache="true">
insert into TB_POST_RANK_MAINTAIN
(id, ORG_CODE, ORG_NAME, DEPT_ID, DEPT_NAME, POST_CODE,
POST_NAME, TRANSITION_POST_SEQ,APPLY_USER_ID, APPLY_USER_NAME,
APPLY_ORG_ID, APPLY_STATUS, APPLY_DATE)
(select seq_post_rank_maintain.nextval id, a.UNIT_CODE_0, a.UNIT_NAME_0,
a.DEPT_CODE_0, a.DEP_NAME_0, a.POST_CODE_0, a.POST_NAME_0, a.POST_SEQUENCE,
#{sub_user_id,jdbcType=VARCHAR}, #{sub_user_name,jdbcType=VARCHAR}, #{sub_org_id,jdbcType=VARCHAR},
#{status,jdbcType=VARCHAR}, SYSDATE
from dual, TB_POST_REQUIRE_INFO a)
</insert>
相关文章推荐
- oracle创建表空间,创建用户,创建表,插入数据,查询
- Oracle中把一个查询结果插入到一张表中
- 查询数据插入别一张表中
- Oracle跨服务器查询插入数据
- 今天写了个从一张表数据插入到另一张表的oracle 语句
- oracle使用子查询插入和修改数据
- Oracle中把一个查询结果插入到一张表中
- Oracle中把一张表查询结果插入到另一张表中
- mysql语句从一个表中查询出数据,再插入到另一张表中(表字段不一样)
- 关于oracle中将一张表中的多条数据的某列查询出来合并为一条数据显示
- Mysql 把查询的数据插入另外一张表
- ORACLE 批量插入 主键为自增序列 有几个字段数据从其他表导入的 有几个是固定的
- Oracle 将从A表查询数据插入B表
- 查询一张表的数据,然后插入另一张表
- 在jsp中插入、查询oracle日期数据
- Oracle 将一张表中的数据插入到另一张新表
- ORACLE SQL: 从一个表中查询数据插入另一个表中
- SqlServer 将存储过程查询的数据插入一张表
- Oracle中把一个查询结果插入到一张表中
- oracle插入和查询日期型数据例子