Performance

28/07/2004 - 06:24 por Anonimo | Informe spam
Buen Dia,,

haber si alguien me pudiera ayudar:

Este es el Detalle de un Sp que ejecuto c/5Min

INSERT Resultados(ReceiptNumber,ReceiptValue)
SELECT RIGHT(REPLICATE('0', 25 ) + Rec,9), RIGHT(REPLICATE('0', 13) +
CAST(CAST(valor AS INT(19,0)) AS VARCHAR), 13)
FROM Tabla1
WHERE id = '1234567489' AND valor2 = 0

SELECT '01' + @Oficina + @FechaPago + '005' + @NumCuenta
AS Result
UNION
(SELECT replicate('0',1) + RecordType + RIGHT(REPLICATE('0',25) +
ReceiptNumber,25) + ReceiptValue + replicate('0',1) + PaymentType +
right(replicate('0',7) + cast(RecordNumber as varchar(10)),7)
FROM Result11 )
UNION
SELECT '09' + RIGHT(REPLICATE('0', 9) + CAST((@Registros ) AS VARCHAR(10)),
9) +
RIGHT(REPLICATE('0', 18) + REPLACE(CAST(CAST((@TotalEfectivo +
@TotalCheque ) AS NUMERIC(15,0)) AS VARCHAR(18)),'.',''), 18)

esto debe generar un archivo asi :

01000123456789020040101006000000123456789
0200000000000000001234567890000000012340010000002
09000000028000000000001234560

Un archivo muy simple de registros con un encabezado, Detalle y un resumen
al final, Sin embargo este codigo es Optimo hasta los 890 registros , de ahi
en adelante el Encabezado se desordena, y concatena los valores
erroneamente posiendo los todos los valores (Encabezado, Detalle, Etc) en
posiciones diferentes.

Si a alguien se le ocurre una idea de porque sucede esto le agradezco.

@dece
 

Leer las respuestas

#1 ulises
28/07/2004 - 07:02 | Informe spam
Usando UNION a secas cada vez que agregas un conjunto de filas al
conjunto final se eliminan las filas duplicadas, usa UNION ALL si no
deseas que se eliminen.

Adicionalmente si bien se supone que los conjuntos de resultados
usando UNION ALL se van a mostrar en la forma como se van agregando,
yo preferiría realizar un ORDER BY al final de acuerdo a la forma como
deseo que se muestren los resultados.

Saludos,
Ulises

On Tue, 27 Jul 2004 23:24:43 -0500, "@dece"
wrote:

Buen Dia,,

haber si alguien me pudiera ayudar:

Este es el Detalle de un Sp que ejecuto c/5Min

INSERT Resultados(ReceiptNumber,ReceiptValue)
SELECT RIGHT(REPLICATE('0', 25 ) + Rec,9), RIGHT(REPLICATE('0', 13) +
CAST(CAST(valor AS INT(19,0)) AS VARCHAR), 13)
FROM Tabla1
WHERE id = '1234567489' AND valor2 = 0

SELECT '01' + @Oficina + @FechaPago + '005' + @NumCuenta
AS Result
UNION
(SELECT replicate('0',1) + RecordType + RIGHT(REPLICATE('0',25) +
ReceiptNumber,25) + ReceiptValue + replicate('0',1) + PaymentType +
right(replicate('0',7) + cast(RecordNumber as varchar(10)),7)
FROM Result11 )
UNION
SELECT '09' + RIGHT(REPLICATE('0', 9) + CAST((@Registros ) AS VARCHAR(10)),
9) +
RIGHT(REPLICATE('0', 18) + REPLACE(CAST(CAST((@TotalEfectivo +
@TotalCheque ) AS NUMERIC(15,0)) AS VARCHAR(18)),'.',''), 18)

esto debe generar un archivo asi :

01000123456789020040101006000000123456789
0200000000000000001234567890000000012340010000002
09000000028000000000001234560

Un archivo muy simple de registros con un encabezado, Detalle y un resumen
al final, Sin embargo este codigo es Optimo hasta los 890 registros , de ahi
en adelante el Encabezado se desordena, y concatena los valores
erroneamente posiendo los todos los valores (Encabezado, Detalle, Etc) en
posiciones diferentes.

Si a alguien se le ocurre una idea de porque sucede esto le agradezco.

@dece

Preguntas similares