Oracle存儲過程案例集合

注:使用的工具爲PLSQL Developer

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

注: 這裏沒有使用REPLACE函數app

一、創建存儲過程函數

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;

 二、執行存儲過程(命令窗口中執行工具

-- 打開日誌輸出
set serveroutput on; exec pro_testcom('555.555.555.555' , '.' ,'-');

三、執行結果 spa

替換以後的字符串爲:555-555-555-555 PL/SQL procedure successfully completed

貳、......

相關文章
相關標籤/搜索