Salida diferente en sql 6.5 y 2000

23/08/2006 - 01:41 por Pao | Informe spam
La pregunta es que en SQLServer 6.5 antes con esos querys en estas tablas
los resultados me salian ordenados
ahora en sql2000 ya no salen tan ordenados

Hay alguna cuenta donde te pueda enviar unos archivos para que lo veas
graficamente.????

execute sp_consulta_cliente1 'CG', '0','N','','ALMEIDA'


Salida sql 2000
200605 ALMEIDA ABAD MAGNO ENRIQUE
200605 ALMEIDA ABAD MELIDA ESMILDA
200605 ALMEIDA ACOSTA JORGE WILSON
200605 ALMEIDA ACOSTA LUIS ENRIQUE
200605 ALMEIDA ACOSTA LUIS ERNESTO
200605 ALMEIDA ACOSTA LUIS ERNESTO
200605 ALMEIDA ACOSTA LUIS ERNESTO
200605 ALMEIDA ACOSTA LUIS FERNANDO

Salida sql6.5

200606 ALMEIDA ABAD MAGNO ENRIQUE
200606 ALMEIDA ABAD MELIDA ESMILDA
200606 ALMEIDA ABAD MELIDA ESMILDA
200606 ALMEIDA ABAD VERONICA AMALIA
200606 ALMEIDA ABARCA DIEGO FERNANDO
200606 ALMEIDA ABARCA DIEGO FERNANDO
200606 ALMEIDA ABECILLA SEGUNDO RAFAEL




/****** Object: Stored Procedure dbo.sp_consulta_cliente1 Script Date:
8/15/2006 3:52:28 PM ******/
create procedure sp_consulta_cliente1 ( @idtran varchar(2) = null,
@idtipo varchar(1) = null,
@idaccion varchar(1) = null,
@idcedula varchar(13) = null,
@idnombre varchar(40) = null )
as
declare
@w_fecha_max int /*Fecha Maxima Cargada en la Tabla */


/* Consulta General de Clientes */

if @idtran="CG"
begin

/* Verifica la Fecha Maxima Cargada en la Tabla */

select @w_fecha_max = max(de_fecha) from deudores (index =
i_de_codigoid)

set rowcount 20
if @idtipo="0"
begin
if @idaccion = "R" /* Por Cedula */
select * from deudores (index = i_de_codigoid) where de_fecha =
@w_fecha_max and de_codigoid >= @idcedula

if @idaccion = "N" /* Por Apellido */
select * from deudores (index = i_de_nombre) where de_fecha =
@w_fecha_max and de_nombre >= @idnombre
end
else
if @idtipo="1"
begin
if @idaccion = "R" /* Por Cedula */
select * from deudores (index = i_de_codigoid) where de_fecha =
@w_fecha_max and de_codigoid > @idcedula

if @idaccion = "N" /* Por Apellido */
select * from deudores (index = i_de_nombre) where de_fecha =
@w_fecha_max and de_nombre > @idnombre
end
end
 

Leer las respuestas

#1 Isaias
23/08/2006 - 02:11 | Informe spam
Pao

Para 2000 (y 7.0), ya no es recomendable indicarle que INDEX utilizar

FROM MyTabla (Index = myindice)

En todo caso, te hace falta la instruccion ORDER BY

FROM MyTabla
WHERE..
ORDER BY col1, col2,col3

Te recomiendo que verifiques si es RECOMENDABLE generar como INDICES las
columnas que van despues del WHERE.


Saludos
IIslas


"Pao" wrote:

La pregunta es que en SQLServer 6.5 antes con esos querys en estas tablas
los resultados me salian ordenados
ahora en sql2000 ya no salen tan ordenados

Hay alguna cuenta donde te pueda enviar unos archivos para que lo veas
graficamente.????

execute sp_consulta_cliente1 'CG', '0','N','','ALMEIDA'


Salida sql 2000
200605 ALMEIDA ABAD MAGNO ENRIQUE
200605 ALMEIDA ABAD MELIDA ESMILDA
200605 ALMEIDA ACOSTA JORGE WILSON
200605 ALMEIDA ACOSTA LUIS ENRIQUE
200605 ALMEIDA ACOSTA LUIS ERNESTO
200605 ALMEIDA ACOSTA LUIS ERNESTO
200605 ALMEIDA ACOSTA LUIS ERNESTO
200605 ALMEIDA ACOSTA LUIS FERNANDO

Salida sql6.5

200606 ALMEIDA ABAD MAGNO ENRIQUE
200606 ALMEIDA ABAD MELIDA ESMILDA
200606 ALMEIDA ABAD MELIDA ESMILDA
200606 ALMEIDA ABAD VERONICA AMALIA
200606 ALMEIDA ABARCA DIEGO FERNANDO
200606 ALMEIDA ABARCA DIEGO FERNANDO
200606 ALMEIDA ABECILLA SEGUNDO RAFAEL




/****** Object: Stored Procedure dbo.sp_consulta_cliente1 Script Date:
8/15/2006 3:52:28 PM ******/
create procedure sp_consulta_cliente1 ( @idtran varchar(2) = null,
@idtipo varchar(1) = null,
@idaccion varchar(1) = null,
@idcedula varchar(13) = null,
@idnombre varchar(40) = null )
as
declare
@w_fecha_max int /*Fecha Maxima Cargada en la Tabla */


/* Consulta General de Clientes */

if @idtran="CG"
begin

/* Verifica la Fecha Maxima Cargada en la Tabla */

select @w_fecha_max = max(de_fecha) from deudores (index =
i_de_codigoid)

set rowcount 20
if @idtipo="0"
begin
if @idaccion = "R" /* Por Cedula */
select * from deudores (index = i_de_codigoid) where de_fecha =
@w_fecha_max and de_codigoid >= @idcedula

if @idaccion = "N" /* Por Apellido */
select * from deudores (index = i_de_nombre) where de_fecha =
@w_fecha_max and de_nombre >= @idnombre
end
else
if @idtipo="1"
begin
if @idaccion = "R" /* Por Cedula */
select * from deudores (index = i_de_codigoid) where de_fecha =
@w_fecha_max and de_codigoid > @idcedula

if @idaccion = "N" /* Por Apellido */
select * from deudores (index = i_de_nombre) where de_fecha =
@w_fecha_max and de_nombre > @idnombre
end
end


Preguntas similares