因為目前專案要進行遷庫,對於儲存過程的遷移有點難,企業原先的舊架構已經很老了,涉及到的儲存過程很多,每乙個儲存過程的邏輯也很複雜,從oracle到gbase庫,很多不同之處,不適配很難操作;所以開始將oracle和gbase各自的儲存過程和語法這塊在這週時間學習一下,先更新關於oracle的儲存過程的學習和實際工作的操作,之後是gbase的儲存過程的學習,然後將連著進行對比,再去修改適配問題。因為gbase儲存過程用的是mysql的語法,所以mysql的儲存學習一下也是有幫助的。從裡面的函式看起:
select trunc(sysdate) from dual --2020-05-29 今天的日期為2020-05-29;
此處就是取存過執行的時候當前的日子
有兩個引數,第乙個引數是日期在這裡指的就是trunc(sysdate),
第二個引數是對日期進行加減的數字(以月為單位的):-7今天的日期開始 減7個月。
:last_day函式返回指定日期對應月份的最後一天。
add_months(trunc(sysdate), -7)) 但是後面又+1 ;
last_day(add_months(trunc(sysdate), -7)) + 1 :這句話的涵義:取當前日期的前7個月的這個月份的最後一天日期,+1 則為後乙個月的第一天日期。
是將數值型或者日期型轉化為字元型 。
將例子中時間(last_day(add_months(trunc(sysdate), -7)) + 1)轉換成後面的格式『yyyy-mm-dd』的字串型別;
即:將取到的最終的日期按照這樣的格式賦值給s_date。
其實每個函式的具體功能很多,只要搜就能搜到,這裡我只列舉我工作中遇到的實際問題,如果有任何問題,希望糾正。
Oracle儲存過程詳細教程
點關注不迷路,歡迎再訪!精簡部落格內容,盡量已行業術語來分享。努力做到對每一位認可自己的讀者負責。幫助別人的同時更是豐富自己的良機。四.帶有引數的儲存過程 五.in,out引數問題 六.異常寫法 七.迴圈 八.基本正刪改查 create or replace procedure 儲存過程名 asbe...
oracle儲存過程迴圈操作
create or replace procedure test procedure is begin 迴圈列印1到5 for idx in 1.5 loop dbms output.put line idx end loop 根據查詢到的資料進行遍歷並輸出 for idx in select t....
oracle 函式呼叫儲存過程操作
create or replace function fun plan station contrast groupid varchar2 return number is tmp varchar2 200 mycur sys refcursor res number 0 不符合條件的記錄條數 ty...