日期:2014-05-16 浏览次数:20454 次
FOR G_I IN 1..G_ITEM_COUNT LOOP G_ITEM_ARR :=INSTR(G_ITEM_STR,'@',1,1); G_ITEM_CODE :=SUBSTR(G_ITEM_STR,1,G_ITEM_ARR-1); G_VALUE_ARR :=INSTR(G_VALUE_STR,'@',1,1); G_ITEM_VALUE :=SUBSTR(G_VALUE_STR,1,G_VALUE_ARR-1); G_AUDIT_ARR :=INSTR(G_AUDIT_STR,'@',1,1); G_AUDIT_VALUE:=SUBSTR(G_AUDIT_STR,1,G_AUDIT_ARR-1); UPDATE PV_FORM_ITEM SET ITEM_VALUE=G_ITEM_VALUE,AUDIT_VALUE=G_AUDIT_VALUE,LAST_MODIFY_TIME=SYSDATE WHERE FORM_ID=G_FORM_ID AND ITEM_CODE=G_ITEM_CODE; --1 删除相同的 例:'aaa@aaa@bbb@ccc'-->'bbb@ccc' G_REP_ITEM_STR := G_ITEM_CODE||'@'; G_ITEM_STR := REPLACE(G_ITEM_STR,G_REP_ITEM_STR,''); G_REP_VALUE_STR:= G_ITEM_VALUE||'@'; G_VALUE_STR := REPLACE(G_VALUE_STR,G_REP_VALUE_STR,''); G_REP_AUDIT_STR:= G_AUDIT_VALUE||'@'; G_AUDIT_STR := REPLACE(G_AUDIT_STR,G_REP_AUDIT_STR,''); --2 去掉第一个值 例:'aaa@aaa@bbb@ccc'-->'aaa@aaa@bbb@' G_ITEM_STR := SUBSTR(G_ITEM_STR,1,instr(G_ITEM_STR,'@',-1,2)); G_VALUE_STR := SUBSTR(G_VALUE_STR,1,instr(G_VALUE_STR,'@',-1,2)); G_AUDIT_STR := SUBSTR(G_AUDIT_STR,1,instr(G_AUDIT_STR,'@',-1,2)); --3 去掉第一个值 例:'aaa@aaa@bbb@ccc'-->'aaa@bbb@ccc@' G_ITEM_STR := substr(G_ITEM_STR,instr(G_ITEM_STR,'@',1,1)+1); G_VALUE_STR := substr(G_VALUE_STR,instr(G_VALUE_STR,'@',1,1)+1); G_AUDIT_STR := substr(G_AUDIT_STR,instr(G_AUDIT_STR,'@',1,1)+1); END LOOP;