begin for r in ( select t.CD_TURMA, aacp.CD_CURSO_PADR, tcp1.CD_COMBN_TURNO from SIGA_ATIV_ACAD_CUR_PADR aacp, SIGA_ATIVIDADE_ACADEMICA aa, SIGA_ORGAO o, SIGA_TURMA t, SIGA_TURMA_CUR_PADR tcp1, SIGA_TURMA t1, SIGA_ATIVIDADE_ACADEMICA aa1 where aa.CD_ATIV_ACAD=aacp.CD_ATIV_ACAD and aa.CD_ATIV_ACAD=t.CD_ATIV_ACAD and aa.CD_ORG=o.CD_ORG and aa.CD_PERD_LETV='2014.2' --Periodo Letivo Atual** and o.CD_TP_ORG in (2,63) --Graduacao and t.CD_TP_SIT_TURMA=1 --Turmas Ativas and not exists (select 8 from SIGA_TURMA_CUR_PADR tcp where tcp.CD_TURMA=t.CD_TURMA and tcp.CD_CURSO_PADR=aacp.CD_CURSO_PADR ) and t.QT_TOT_VAGAS>(select count(8) from SIGA_MATRICULA_TURMA mt where mt.CD_TURMA=t.CD_TURMA and mt.NU_SIT_MATR_TURMA=1 ) --Turma possui vagas disponíveis and tcp1.CD_TURMA=t1.CD_TURMA and t1.CD_ATIV_ACAD=aa1.CD_ATIV_ACAD and aa1.CD_COMPNT_CURR=aa.CD_COMPNT_CURR and aa1.CD_ORG=aa.CD_ORG and tcp1.CD_CURSO_PADR=aacp.CD_CURSO_PADR and aa1.CD_PERD_LETV='2013.2' --Periodo Letivo Um Ano Atrás** and tcp1.CD_COMBN_TURNO=(select max(tcp2.CD_COMBN_TURNO) from SIGA_TURMA_CUR_PADR tcp2 where tcp2.CD_TURMA=tcp1.CD_TURMA and tcp2.CD_CURSO_PADR=tcp1.CD_CURSO_PADR ) --Maior combinacao de turno para o curso group by t.CD_TURMA, aacp.CD_CURSO_PADR, tcp1.CD_COMBN_TURNO order by t.CD_TURMA, aacp.CD_CURSO_PADR ) loop insert into SIGA_TURMA_CUR_PADR values (r.cd_turma,r.cd_curso_padr,r.CD_COMBN_TURNO,1,'1',sysdate,null,null,null); end loop; commit; end;