加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle存储过程案例集合

发布时间:2021-02-24 08:02:54 所属栏目:站长百科 来源:网络整理
导读:注:使用的工具为PLSQL Developer 壹、while简单使用( 替换字符串中的字符,和REPLACE效果一样 ) 注:?这里没有使用REPLACE函数 1、建立存储过程 CREATE OR REPLACE PROCEDURE pro_testcom (p_string IN VARCHAR2 ,replace1 IN VARCHAR2 ,replace2 IN VARCHAR

注:使用的工具为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_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

Oracle存储过程案例集合


贰、......

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读