Rodar script comitando

15/08/2011

Como eu faço para rodar esse script, mas a cada linha ele já dá o COMMIT, para se caso cair a força ou qualquer outra coisa, ele já valide aquilo que ele já fez? UPDATE CONHECIMENTO_CARGA SET DATA_EMISSAO_CONHECIMENTO = COALESCE( (SELECT DISTINCT CONVERT(VARCHAR(30),OPERA.DATA,21) FROM OPERA WHERE OPERA.CONTRATO = CONHECIMENTO_CARGA.NUMERO_CONHECIMENTO AND OPERA.COD_CREDENCIADA = CONHECIMENTO_CARGA.FILIAL_ORIGEM AND OPERA.DATA = CONHECIMENTO_CARGA.DATA_EMISSAO_REAL AND (OPERA.DATA >= '11/01/2010' AND OPERA.DATA <= '02/28/2011')), DATA_EMISSAO_CONHECIMENTO ) WHERE DATA_EMISSAO_CONHECIMENTO = '1899-12-30 00:00:00.000'

Respostas

15/08/2011

Pjava

Pessoal, mudei para esse script BEGIN TRANSACTION UPDATE CONHECIMENTO_CARGA SET DATA_EMISSAO_CONHECIMENTO = COALESCE( (SELECT DISTINCT CONVERT(VARCHAR(30),OPERA.DATA,21) FROM OPERA WHERE OPERA.CONTRATO = CONHECIMENTO_CARGA.NUMERO_CONHECIMENTO AND OPERA.COD_CREDENCIADA = CONHECIMENTO_CARGA.FILIAL_ORIGEM AND OPERA.DATA = CONHECIMENTO_CARGA.DATA_EMISSAO_REAL AND (OPERA.DATA >= '11/01/2010' AND OPERA.DATA <= '02/28/2011')), DATA_EMISSAO_CONHECIMENTO ) WHERE DATA_EMISSAO_CONHECIMENTO = '1899-12-30 00:00:00.000' GO COMMIT END   Acontece, que esse commit é feito a cada atualização e gostaria que a cada 500.000 registros ele comitasse. Como eu faço isso? Qualquer ajuda é bem-vinda, obrigado.
Responder Citar