navicat如何备份oracle数据库,肿么通过navicat备份oracle数据库

数组在Oracle里面使用不怎么方便,一般情况下很少使用,给你提个新方法实现你的功能。

设定数据库结构:

CREATE TABLE GOODS( PM VARCHAR2(20 BYTE),--品名 FL VARCHAR2(20 BYTE),--分类 RQ DATE, --日期 BZ VARCHAR2(50 BYTE) --备注);存储过程如下:

CREATE OR REPLACE procedure PROC_split(In_String IN VARCHAR2) isv_split1 VARCHAR2(10) DEFAULT ',';v_split2 VARCHAR2(10) DEFAULT '_';len NUMBER DEFAULT 0;nStr VARCHAR2(200);nStr1 VARCHAR2(40);nStr2 VARCHAR2(20);nStr3 VARCHAR2(20);place NUMBER(10) default 1;begin--输入串格式--'辣椒_食品,西红柿_食品,板鞋_服饰,植物油_食品,领带_食品,' len := length(In_String); IF len < 1 THEN RETURN; END IF ; nStr := In_String; place := INSTR(nStr,v_split1,1,1); WHILE (place > 0 ) LOOP nStr1 := SUBSTR(nStr,1,place-1); nStr := SUBSTR(nStr,place + 1); place := INSTR(nStr1,v_split2,1,1); IF (place > 0 ) THEN nStr2 := SUBSTR(nStr1,1,place-1); nStr3 := SUBSTR(nStr1,place + 1); UPDATE goods SET rq = SYSDATE WHERE pm=nStr2 AND fl=nStr3; //dbms_output.put_line('nStr2=['||nStr2||'],nStr3=['||nStr3||']'); END IF; place := INSTR(nStr,v_split1,1,1); END LOOP; COMMIT;end PROC_split;/测试语句:

DECLARE IN_STRING VARCHAR2(32767);BEGIN IN_STRING := '辣椒_食品,西红柿_食品,板鞋_服饰,植物油_食品,领带_食品,'; PROC_SPLIT ( IN_STRING ); COMMIT; END;我的调试输出是:

nStr2=[辣椒],nStr3=[食品]nStr2=[西红柿],nStr3=[食品]nStr2=[板鞋],nStr3=[服饰]nStr2=[植物油],nStr3=[食品]nStr2=[领带],nStr3=[食品]这里面只用了两个函数:INSTR,SUBSTR.

取消

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值