InovacaoMediaBrasil/ProcessWorkflowsAndDatabaseScripts

View on GitHub
Src/Sankhya/Scripts/Corrige numeração TSIBAI.sql

Summary

Maintainability
Test Coverage
DECLARE
@INI INT = 1992,
@ATUAL INT = 7000,
@NOMEBAI VARCHAR(20),
@DESCRCORREIO VARCHAR(60),
@DTALTER DATETIME

ALTER TABLE sankhya.TSIBAI NOCHECK CONSTRAINT ALL;
ALTER TABLE sankhya.TGFPAR DISABLE TRIGGER ALL;
ALTER INDEX [AK_NOMEBAI_TSIBAI] ON sankhya.TSIBAI DISABLE;

WHILE(@ATUAL < 32767)
BEGIN
    SELECT @ATUAL = MIN(CODBAI) FROM sankhya.TSIBAI WHERE CODBAI > @ATUAL;
    SELECT @NOMEBAI = NOMEBAI, @DESCRCORREIO = DESCRICAOCORREIO, @DTALTER = DTALTER FROM sankhya.TSIBAI WHERE CODBAI = @ATUAL;
    INSERT INTO sankhya.TSIBAI (CODBAI, NOMEBAI, DESCRICAOCORREIO, DTALTER, CODREG) VALUES (@INI, @NOMEBAI, @DESCRCORREIO, @DTALTER, 0);
    UPDATE sankhya.TCCEMP SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TFPFUN SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TFPPCA SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TGAENT SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TGFCPL SET CODBAIENTREGA = @INI WHERE CODBAIENTREGA = @ATUAL;
    UPDATE sankhya.TGFCPL SET CODBAIRECEB = @INI WHERE CODBAIRECEB = @ATUAL;
    UPDATE sankhya.TGFCPL SET CODBAITRAB = @INI WHERE CODBAITRAB = @ATUAL;
    UPDATE sankhya.TGFCTT SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TGFPAR SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TGFSIT SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TSIAGE SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TSICEP SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    UPDATE sankhya.TSIEMP SET CODBAI = @INI WHERE CODBAI = @ATUAL;
    DELETE FROM sankhya.TSIBAI WHERE CODBAI = @ATUAL;
    SET @INI = @INI + 1;
END;

ALTER INDEX [AK_NOMEBAI_TSIBAI] ON sankhya.TSIBAI REBUILD;
ALTER TABLE sankhya.TGFPAR ENABLE TRIGGER ALL;
ALTER TABLE sankhya.TSIBAI WITH CHECK CHECK CONSTRAINT ALL;