oracle儲存過程轉換為mysql儲存過程例項總結
最近在接觸資料庫的有關知識,因為水平有限,對資料庫方面的一些知識缺乏瞭解,這次遇見的主要是 資料庫的儲存過程,根據公司專案需求,將oracle的儲存過程切換為mysql的儲存過程,首先oracle的儲存過程與mysql的儲存過程差別是很大的(語法差別很大),通過好多天的網上查詢資料,與同事們的交流,簡單的實現了基本的轉換,在這裡肯定還有一些錯誤的地方,也歡迎各位大牛指出,讓我更加深入的瞭解 資料庫的儲存過程,有疑問的大家也可以一起交流進步。
下面就進入這次的話題:oracle 儲存過程 轉換為mysql儲存過程 例項總結
首先我門先看一下我最近大致轉換的儲存過程的一個例子程式碼,首先是原始的 oracle的儲存過程:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | CREATE OR REPLACE PROCEDURE xp_stat_BigDiseaseAnalyse( v_beginDate varchar2, --統計開始日期,格式:yyyyMMdd v_endDate varchar2, --統計結束日期, 格式:yyyyMMdd v_orgCode varchar2, --檢查醫療機構 v_dataCur out PK_base.cur, --返回結果集 v_total out number, --返回查詢記錄總數 v_msg out varchar2 --返回查詢記錄總數 ) is v_sql varchar2(5000); begin v_sql := 'select * from ( select max(ehr.forg_code) forg_code , ' '冠心病' ' fdiag_name ,count(a.fehrid) FDiseaseCount,sum(famount) famount,sum(famount_insurance) famount_insurance,sum(famount_self) famount_self from tbl_ehr_comm_disease a join tbl_ehr_archives ehr on ehr.fid=a.fehrid
|