The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
SELECT effective_from,effective_until INTO p_out_from_date,p_out_until_date
FROM CZ_EFFECTIVITY_SETS WHERE effectivity_set_id=p_eff_set_id;
UPDATE CZ_RULES
SET effective_from=NVL(p_from_date,effective_from),
effective_until=NVL(p_until_date,effective_until),
effectivity_set_id=DECODE(p_eff_set_id,NULL_VALUE,NULL,NULL,effectivity_set_id,p_eff_set_id),
seq_nbr=NVL(p_seq_nbr,seq_nbr)
WHERE rule_id=p_rule_id AND deleted_flag=NO_FLAG;
SELECT seq_nbr INTO p_seq FROM CZ_RULES
WHERE rule_id=p_rule_id;
FOR i IN(SELECT a.rule_folder_id,a.rule_id,a.seq_nbr,p_seq as main_seq,
DECODE(a.seq_nbr,p_seq,'C',p_seq-1,'L',p_seq+1,'R','N') as where_in_seq,
NVL(a.effectivity_set_id,NULL_VALUE) as effectivity_set_id,
DECODE(a.effectivity_set_id,NULL,a.effective_from,NULL_VALUE,a.effective_from,b.effective_from) as effective_from,
DECODE(a.effectivity_set_id,NULL,a.effective_until,NULL_VALUE,a.effective_until,b.effective_until) as effective_until
FROM CZ_RULES a,CZ_EFFECTIVITY_SETS b
WHERE a.rule_folder_id=p_rule_sequence_id
AND a.seq_nbr BETWEEN (p_seq-1) AND (p_seq+1)
AND a.deleted_flag='0'
AND b.effectivity_set_id(+)=a.effectivity_set_id
AND b.deleted_flag(+)='0')
LOOP
IF i.where_in_seq='C' THEN
p_out_eff_from:=i.effective_from;
SELECT effective_from,effective_until,effectivity_set_id,rule_id INTO
p_out_left_eff_from,p_out_left_eff_to,p_out_left_set_id,p_out_left_rule_id
FROM CZ_RULES WHERE devl_project_id=p_model_id AND rule_folder_id=p_rule_sequence_id
AND seq_nbr=p_seq_nbr;
SELECT effective_from,effective_until INTO
p_out_left_eff_from,p_out_left_eff_to
FROM CZ_EFFECTIVITY_SETS WHERE effectivity_set_id=p_out_left_set_id;
SELECT effective_from,effective_until,effectivity_set_id,rule_id INTO
p_out_right_eff_from,p_out_right_eff_to,p_out_right_set_id,p_out_right_rule_id
FROM CZ_RULES WHERE devl_project_id=p_model_id AND rule_folder_id=p_rule_sequence_id
AND seq_nbr=p_seq_nbr+1;
SELECT effective_from,effective_until INTO
p_out_right_eff_from,p_out_right_eff_to
FROM CZ_EFFECTIVITY_SETS WHERE effectivity_set_id=p_out_right_set_id;
deleted_flag IN VARCHAR2 -- DEFAULT '0' -- flag if the rule was logically deleted
) IS
var_curr_rule_id INTEGER;
SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
UPDATE CZ_RULES
SET seq_nbr=seq_nbr-1
WHERE devl_project_id=p_model_id AND seq_nbr>var_curr_seq AND
rule_folder_id=p_rule_sequence_id AND deleted_flag=NO_FLAG;
/* *** delete current rule from sequence *** */
UPDATE CZ_RULES
SET seq_nbr=NULL_VALUE,
rule_folder_id=NULL_VALUE
WHERE rule_id=p_rule_id AND deleted_flag=NO_FLAG;
UPDATE CZ_RULES
SET seq_nbr=seq_nbr-1
WHERE rule_folder_id=p_rule_sequence_id AND
seq_nbr > var_curr_seq AND
seq_nbr <= p_new_sequence AND
deleted_flag=NO_FLAG;
UPDATE CZ_RULES
SET seq_nbr=p_new_sequence
WHERE rule_id=p_rule_id;
UPDATE CZ_RULES
SET seq_nbr=seq_nbr+1
WHERE rule_folder_id=p_rule_sequence_id AND
seq_nbr < var_curr_seq AND
seq_nbr >= p_new_sequence AND
deleted_flag=NO_FLAG;
UPDATE CZ_RULES
SET seq_nbr=p_new_sequence
WHERE rule_id=p_rule_id;
SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
UPDATE CZ_EFFECTIVITY_SETS
SET effective_from=p_new_start_date,
effective_until=p_new_end_date
WHERE effectivity_set_id=p_effectivity_set_id RETURNING name INTO var_eff_name;
FOR k IN ( SELECT a.* FROM CZ_RULES a, CZ_RULE_FOLDERS b
WHERE a.rule_folder_id = b.rule_folder_id
AND b.folder_type=1 AND b.deleted_flag=NO_FLAG
AND a.effectivity_set_id=p_effectivity_set_id
AND a.deleted_flag=NO_FLAG)
LOOP
var_curr_seq:=k.seq_nbr;
SELECT name INTO var_name FROM CZ_RULES WHERE rule_id=var_left_rule_id;
SELECT name INTO var_name FROM CZ_RULES WHERE rule_id=var_right_rule_id;
SELECT name INTO var_name FROM CZ_RULES WHERE rule_id=var_right_rule_id;