--***  Antes de ejecutar esta consulta, hacer una copia de seguridad de la tabla o de la base de datos ***
 IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE NAME LIKE '#AcuCueAux%') 
 DROP TABLE #AcuCueAux
 CREATE TABLE #AcuCueAux ([Id] INT PRIMARY KEY IDENTITY (1,1),nAnno INT
,nMes INT,IdCia CHAR(2),nReg INT,IdCuenta VARCHAR(16),IdTercero VARCHAR(16)
,CodAgncia VARCHAR(16),IdCCosto VARCHAR(16),IdSubCos VARCHAR(16),SubAuxiliar VARCHAR(16)
,TipoAcum VARCHAR(4),SaldoAnterior MONEY,TotalDebitos MONEY,TotalCreditos MONEY,TipoAfiVehic INT)
INSERT INTO #AcuCueAux (nAnno,nMes,IdCia,nReg,IdCuenta,IdTercero,CodAgncia,IdCCosto,IdSubCos,SubAuxiliar
,TipoAcum,SaldoAnterior,TotalDebitos,TotalCreditos,TipoAfiVehic)
SELECT nAnno,nMes,IdCia,nReg,IdCuenta,IdTercero,CodAgncia,IdCCosto,IdSubCos,SubAuxiliar
,TipoAcum,SaldoAnterior,TotalDebitos,TotalCreditos,TipoAfiVehic
FROM dbo.AcuCuentasAux

DECLARE @TrnNombre VARCHAR(20)
SET @TrnNombre = 'TrnAcuCue'
BEGIN TRANSACTION @TrnNombre
DROP TABLE AcuCuentasAux

CREATE TABLE AcuCuentasAux ( 
[Id] BIGINT IDENTITY ( 1,1 ) NOT NULL, 
nAnno INT DEFAULT (0) NOT NULL,
nMes INT DEFAULT (0) NOT NULL,
IdCia CHAR(2) DEFAULT ('01') NOT NULL,
nReg INT DEFAULT (0) NOT NULL,
IdCuenta VARCHAR(16) NOT NULL,
IdTercero VARCHAR(16) NOT NULL,
CodAgncia VARCHAR(16) NOT NULL,
IdCCosto VARCHAR(16) NOT NULL,
IdSubCos VARCHAR(16) NOT NULL,
SubAuxiliar VARCHAR(16) NOT NULL,
TipoAcum VARCHAR(4) NOT NULL,
SaldoAnterior MONEY DEFAULT (0) NOT NULL,
TotalDebitos MONEY DEFAULT (0) NOT NULL,
TotalCreditos MONEY DEFAULT (0) NOT NULL,
TipoAfiVehic INT DEFAULT ((0)) NOT NULL
 CONSTRAINT PK_AcuCuentasAux PRIMARY KEY NONCLUSTERED ([Id]),
 CONSTRAINT CK_AcuCuentasAuxCodAgncia CHECK ((len([CodAgncia]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxIdCCosto CHECK ((len([IdCCosto]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxIdCia CHECK ((len([IdCia]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxIdCuenta CHECK ((len([IdCuenta]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxIdSubCos CHECK ((len([IdSubCos]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxIdTercero CHECK ((len([IdTercero]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxnAnno CHECK (([nAnno] >= 1990 and [nAnno] <= 2050)),
 CONSTRAINT CK_AcuCuentasAuxnMes CHECK (([nMes] >= 0 and [nMes] <= 13)),
 CONSTRAINT CK_AcuCuentasAuxSubAuxiliar CHECK ((len([SubAuxiliar]) > 0)),
 CONSTRAINT CK_AcuCuentasAuxTipoAcum CHECK ((len([TipoAcum]) > 0)))
ALTER TABLE AcuCuentasAux ADD 
 CONSTRAINT FK_AcuCuentasAux_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_AcuCuentasAux_Puc FOREIGN KEY (IdCuenta) REFERENCES [dbo].[Puc] (IdCuenta)
 CREATE CLUSTERED INDEX IX_AcuCuentasAuxIdCuenta ON AcuCuentasAux(nAnno,nMes,IdCia,IdCuenta,IdTercero,IdCCosto)
 CREATE NONCLUSTERED INDEX IX_AcuCuentasAuxCodAgncia ON AcuCuentasAux(CodAgncia)
 CREATE NONCLUSTERED INDEX IX_AcuCuentasAuxIdSubCos ON AcuCuentasAux(IdSubCos)

INSERT INTO AcuCuentasAux (nAnno,nMes,IdCia,nReg,IdCuenta,IdTercero,CodAgncia,IdCCosto,IdSubCos,SubAuxiliar
,TipoAcum,SaldoAnterior,TotalDebitos,TotalCreditos,TipoAfiVehic)
SELECT nAnno,nMes,IdCia,nReg,IdCuenta,IdTercero,CodAgncia,IdCCosto,IdSubCos,SubAuxiliar
,TipoAcum,SaldoAnterior,TotalDebitos,TotalCreditos,TipoAfiVehic
FROM #AcuCueAux
COMMIT TRANSACTION  @TrnNombre
