Script's para rodar no banco ICO após atualizar para a versão 6.40

Nesta versão estamos criando um novo campo na tabela ingresso, chamado “ING_PICID”. Este campo irá gravar o ID do processo seletivo, fazendo a ligação do ingresso com o processo seletivo.
O script abaixo irá popular o campo para os ingressos já existentes, isso quando houver ingressos gerados através de processo seletivo.
Obs: como o script pode ser demorado dependendo da base, optamos por deixar o mesmo para ser executado após a aplicação ficar no ar novamente. Evitando assim que a mesma fique inativa por muito tempo.

Segue script's para quando for banco de MSSQL.

UPDATE TB_INGRESSO SET ING_PICID = PIC_ID
FROM tb_prosel_inscrito
INNER JOIN TB_PROSEL_INSCRITO_ETAPA ON PIE_PICID = PIC_ID
INNER JOIN TB_PROSEL_INSCRICAO_OPCAO ON PIO_PICID = PIC_ID
INNER JOIN TB_INSC_INSCRICAO_OPCAO ON ICT_ID = PIO_ICTID
INNER JOIN TB_INSC_INSCRICOES ON ICT_INAID = INA_ID
INNER JOIN TB_PROSEL_CHAMADAS ON PCH_PICID = PIC_ID AND PCH_ICTID = ICT_ID AND PCH_CURID = ICT_CURID AND PIC_PESID = PCH_PESID
INNER JOIN TB_PROSEL_MESTRE_CHAMADA ON PMC_ID = PCH_PMCID
INNER JOIN TB_INGRESSO ing ON ING_CURID = ICT_CURID AND ING_PELID = INA_PELID AND ING_PESID = PIC_PESID AND ING_FINID = PMC_FINID
WHERE PIC_STATUS IN ('MATRICULADO', 'APROVADO')
AND ING_PICID IS NULL;

Segue script's para quando for banco de ORACLE.

UPDATE TB_INGRESSO ing1 SET (ing1.ING_PICID) =
(SELECT pic.PIC_ID FROM tb_prosel_inscrito pic
INNER JOIN TB_PROSEL_INSCRITO_ETAPA ON PIE_PICID = PIC_ID
INNER JOIN TB_PROSEL_INSCRICAO_OPCAO ON PIO_PICID = PIC_ID
INNER JOIN TB_INSC_INSCRICAO_OPCAO ON ICT_ID = PIO_ICTID
INNER JOIN TB_INSC_INSCRICOES ON ICT_INAID = INA_ID
INNER JOIN TB_PROSEL_CHAMADAS ON PCH_PICID = PIC_ID AND PCH_ICTID = ICT_ID AND PCH_CURID = ICT_CURID AND PIC_PESID = PCH_PESID
INNER JOIN TB_PROSEL_MESTRE_CHAMADA ON PMC_ID = PCH_PMCID
INNER JOIN TB_INGRESSO ing ON ING_CURID = ICT_CURID AND ING_PELID = INA_PELID AND ING_PESID = PIC_PESID AND ING_FINID = PMC_FINID
WHERE PIC_STATUS IN ('MATRICULADO', 'APROVADO')
AND ing.ING_ID = ing1.ING_ID
AND ING_PICID IS NULL)
WHERE EXISTS (SELECT 1 FROM tb_prosel_inscrito pic
INNER JOIN TB_PROSEL_INSCRITO_ETAPA ON PIE_PICID = PIC_ID
INNER JOIN TB_PROSEL_INSCRICAO_OPCAO ON PIO_PICID = PIC_ID
INNER JOIN TB_INSC_INSCRICAO_OPCAO ON ICT_ID = PIO_ICTID
INNER JOIN TB_INSC_INSCRICOES ON ICT_INAID = INA_ID
INNER JOIN TB_PROSEL_CHAMADAS ON PCH_PICID = PIC_ID AND PCH_ICTID = ICT_ID AND PCH_CURID = ICT_CURID AND PIC_PESID = PCH_PESID
INNER JOIN TB_PROSEL_MESTRE_CHAMADA ON PMC_ID = PCH_PMCID
INNER JOIN TB_INGRESSO ing ON ING_CURID = ICT_CURID AND ING_PELID = INA_PELID AND ING_PESID = PIC_PESID AND ING_FINID = PMC_FINID
WHERE PIC_STATUS IN ('MATRICULADO', 'APROVADO')
AND ing.ING_ID = ing1.ING_ID
AND ING_PICID IS NULL);

Ainda há dúvidas? Se você preferir retire suas dúvidas com o nosso suporte, clique aqui e abra um chamado para atendimento. :-)


Voltar

  • (edição externa)