Oracle存儲過程案例集合


注:使用的工具為PLSQL Developer

壹、while簡單使用(替換字符串中的字符,和REPLACE效果一樣

注: 這里沒有使用REPLACE函數

1、建立存儲過程

CREATE OR REPLACE PROCEDURE pro_testcom (p_string IN VARCHAR2, replace1 IN VARCHAR2, replace2 IN VARCHAR2)
IS
   p_start NUMBER := 1;-- 從哪個位置開始截取
   p_subLength NUMBER := 1;-- 需要截取多長
   p_string_length NUMBER := length(p_string);-- 獲取需要截取的字符串的長度
   p_new_string VARCHAR2(2014) := '';--存儲拼接新的字符串
BEGIN
   WHILE(p_start < p_string_length + 1) LOOP
     p_subLength := INSTR(p_string, replace1, p_start);
     IF p_subLength = 0 THEN
       p_subLength := p_string_length + 1;
     END IF ;
     
     IF p_new_string IS NULL THEN
       p_new_string := SUBSTR(p_string , p_start , p_subLength - p_start);
     ELSE
       p_new_string := p_new_string||replace2||SUBSTR(p_string , p_start , p_subLength - p_start);
     END IF;
     p_start := p_subLength + 1;
   END LOOP;
   
   -- 打印結果
   DBMS_OUTPUT.PUT_LINE('替換之后的字符串為:'||p_new_string);
END pro_testcom;

 2、執行存儲過程(命令窗口中執行

-- 打開日志輸出
set serveroutput on;

exec pro_testcom('555.555.555.555' , '.' ,'-');

3、執行結果 

替換之后的字符串為:555-555-555-555
 
PL/SQL procedure successfully completed

貳、......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM