1. 程式人生 > >oracle中從4個表查詢資料並插入到另一張表裡 擴充套件到查詢到的資料和其他資料共同插入

oracle中從4個表查詢資料並插入到另一張表裡 擴充套件到查詢到的資料和其他資料共同插入

因為業務的需要,現在需要查詢4個表裡的資料並插入到另一個表內且對應自己想要對應的列。

且表的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>



相關推薦

oracle4查詢資料插入表裡 擴充套件查詢到的資料其他資料共同插入

因為業務的需要,現在需要查詢4個表裡的資料並插入到另一個表內且對應自己想要對應的列。 且表的id應該是根據序列自動生成。 具體建立序列什麼的都不說了,直接上程式碼,欄位都沒改,最近太忙了。 insert into TB_POST_REQUIRE_INFO (id, BE

Sql Server儲存過程一個抓取資料填充到

  set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Author:  <alex,,Name> -- Create

mysql資料庫的簡單增刪改查,合併欄位,拼接字元操作,用java完成將查詢結果合併存入的指定欄位

首先問題描述:我現在有兩個表,一個表是關鍵詞,一個表是含有關鍵詞的標籤,需要做的就是在關鍵詞表中新建一個標籤欄位,把包含該關鍵詞的全部標籤存入其中。比如關鍵詞是Java,標籤可能有Java開發,Java後臺等。我這裡關鍵詞有4000個,標籤有40000個,我用了小段java程式碼+sql的函式就完成

Hive資料合併成一行,插入

知識點:時間戳轉化,當前時間,左連線,查詢的欄位相同可以直接插入另一張表  insert into lqioc_ioc_dw.kkjc select a.*,b.CLL,e.JZT from (select FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy

如何實現一個表字段資料變化,資料隨著變化

資料表1(db_integrityevent): 資料表2:(db_corporatecreditscore): navicat觸發器寫法: 可以實現表中相關資料變化,表中其他跟隨這變化。 mysql命令列寫法: delimiter $$ for each row B

mysql 資料插入

INSERT INTO  table1 (table1_field1,table1_field2,...) select table2_filed1,table2_field2,... from table2 where condition1 and condition2

mysql將一個資料插入,排重,刪除,匯入

將一個表中資料插入另一張表的語句: insert into 目標表(欄位1,欄位2,欄位3……) select  欄位1,欄位2,欄位3… from 來源表 where 條件1 and 條件2; 排重很簡單,只要在需要排重的欄位前加distinct就可以嘞!eg~ 查詢記錄

mysql將查詢結果存到

由於mysql不支援select into 方法,mysql怎樣將一張表的查詢結果存到另一張表中? 找了兩個方法 第一種: create table dust select * from student;//用於複製前未建立新表dust的情況下 第二種 insert

oracle觸發器(當插入或刪除或修改A時,能把新資料同步到結構相同的B裡面)...

create or replace trigger testT   AFTER  INSERT OR UPDATE OR DELETE ON A   for each row declare   -- local variables here begin   IF INSE

取得資料不在的最優秀方法(JOIN與EXISTS的效率研究)

業務需求:公司有個CRM經紀人管理系統,前天遇到的比較棘手的問題是,要查詢一張表中不在另一張表中的所有使用者並分頁顯示,但問題是外表的資料量很大,如果用not in(select ..),not exists(select ...)之類的子查詢 的話需要對子查詢表進行所有資訊

查詢資料去更新

update zmt_wx_user as t1 set user_fan_count=(select t2.fans from zmt_wechat_official as t2 where t2.id < 3

mysql通過對比資料來修改兩種sql的對比

1.任務要求: 有兩張表,student1和student2,要求對比student2中的資料,將name相同的student1中的score換成student2中的score,同時保留student1中name不同的score student1(學

SQL Server大資料匯入匯出:將資料匯入到

         今天下午休息的時候又被扔給一項任務:把全國的街道資料匯入街道表。但是他們扔給我的SQL指令碼是從網上down的一個,跟平臺這邊的資料庫設計的完全不一樣。            

mysql將查詢內容存至

由於mysql不支援select into 方法,mysql怎樣將一張表的查詢結果存到另一張表中? 找了兩個方法: 第一種: create table yourtablename select * from student;//用於複製前未建立新表dust的情況下 第

OpenCV 學習(四)之 將圖片插入圖片的實現(ROI)

/** * 將一張圖片插入另一種圖片中 */ static void exam2() { Mat image = Imgcodecs.imr

MySQL使用的欄位更新的欄位

    以下寫法針對MySQL。     雖然寫子查詢也是可以實現的,不過當然應該選擇一種更有效率的方式: update table1 t1 left join table2 t2 on t1.k

SQL 用一個的數據更新

set 更新 where -- ces and update 一個 access 用表B的數據(B1列,B2)更新表A的A1,A2列 SQL Server: update A SET A.A1 = b.B1,A.A2=B.A2 FROM A ,B WHERE A.ID1

sql insert into 一次性插入多條資料 查詢到的資料插入

--插入多條資料使用DEFAULT關鍵字(第二種方法,不要將預設列名寫出,在UNION後面加上all,最後一行不加) ------------------------------------------------------------------------------

SQL Server查詢資料庫有多少,以及資料庫其餘型別資料統計查詢

sql server 數表: select count(1) from sysobjects where xtype='U' 數檢視: select count(1) from sysobjects where xtype='V' 數儲存過程 select count(1) from sysobjects

Excel篩選兩相同的資料快速填充列的公式

將兩個工作表放在一個檔案中,使用if函式和countif函式判斷 =if(判斷條件countif(區域,條件),真值,[假值]) 例項 =if(countif(Sheet2!$A$1:$A$44,A2),"S","F") "$"的用法 A1相對引用 $A1絕對引用列 A$1絕對引用行 $A$1絕對引用行