Я пытаюсь вставить в таблицу. Я новичок в этом и пытаюсь учиться. Я использую SQLDEV. Я считаю, что это должно быть какое-то время вложенного цикла, но я просто не могу понять это. Таблица предназначена для сотрудников и их иждивенцев. Я просто пытаюсь установить SEQ_NO. Например, каждый человек с BREL_CODE в 'E' SEQ_NO должен быть установлен в 1. После этого числа должны увеличиваться на 1, пока не достигнет нового PIDM, тогда цикл должен начинаться снова и повторять процесс. Например .... первые 9 строк в столбцах SEQ_NO должны быть 1,2,3,4,2,1,2,1,1 ...Вставить в таблицу SQLDev
Sample Data:
(PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33159,null,null,'Regr','Ken',null,'E','F',to_date('09-FEB-68','DD-MON-RR'),'111111111','N','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33159,null,null,'Reg','Den',null,'H','M',to_date('24-DEC-71','DD-MON-RR'),'222222222','D','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33159,null,null,'Regr','Lev',null,'C','M',to_date('12-NOV-10','DD-MON-RR'),'333333333','D','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33159,null,null,'Reger','Ja',null,'C','M',to_date('12-AUG-05','DD-MON-RR'),'444444444','D','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33161,null,null,'Lace','Hary','C','H','M',to_date('15-SEP-47','DD-MON-RR'),'555555555','D','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33161,null,null,'Love','Rose','M','E','F',to_date('10-FEB-51','DD-MON-RR'),'666666666','N','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33163,null,null,'Wilon','La','E','C','F',to_date('12-FEB-02','DD-MON-RR'),'777777777','D','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33163,null,null,'Wilson','Janet',null,'E','F',to_date('01-JAN-64','DD-MON-RR'),'888888888','N','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33164,null,null,'Choski','Jon',null,'E','M',to_date('14-MAR-52','DD-MON-RR'),'123456789','N','N');
Insert into PZRBENE (PZRBENE_PIDM,PZRBENE_SEQ_NO,PZRBENE_BENE_PIDM,PZRBENE_BENE_LAST_NAME,PZRBENE_BENE_FIRST_NAME,PZRBENE_BENE_MI,PZRBENE_BREL_CODE,PZRBENE_SEX_IND,PZRBENE_BIRTH_DATE,PZRBENE_SSN,PZRBENE_MEMBER_TYPE,PZRBENE_DEL_IND) values (33169,null,null,'Parck','Wilim','G','C','M',to_date('09-MAY-03','DD-MON-RR'),'99999999','D','N');
My Code:
update pzrbene
set pzrbene_seq_no = 1
where pzrbene_brel_code = 'E';
*/
set serveroutput on:
Declare
cursor p_cur is
select pzrbene_seq_no,pzrbene_pidm
from pzrbene
where pzrbene_brel_code <> 'E'
order by pzrbene_pidm;
p_pidm PZRBENE.PZRBENE_PIDM%TYPE;
p_seq_no number := 0;
p_brel_code pzrbene.pzrbene_brel_code%TYPE;
Begin
open p_cur;
fetch p_cur into p_seq_no,p_pidm ;
while p_cur%FOUND
LOOP
update pzrbene
SET PZRBENE_SEQ_NO = p_seq_no + 1 where p_pidm = pzrbene.pzrbene_pidm and p_brel_code= pzrbene_brel_code;
fetch p_cur into p_seq_no,p_pidm;
end loop;
end;
/
Где мой код? – Bonifacio2
Что это за ваши данные, которые его заказывают? В приведенных примерах нет ничего, что указано для заданного 'PIDM', какая строка первая, следующая и т. Д. Также есть первичный ключ или какая-то другая уникальность, которая может идентифицировать каждую отдельную строку? – Boneist
Я не вижу начального старта INSERT, почему вы ожидаете его вставить? – HLGEM