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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Pao
23/08/2006 - 03:04 | Informe spam
Te cuento que hice el cambio a esto:
select * from deudores --(index = i_de_nombre)
where de_fecha = @w_fecha_max and de_nombre >= @idnombre order by de_nombre

y ya funciono igual como sqlserver 6.5 pero mi duda es porque trabajan
diferente en este sentido?????Ya que en el 6.5 no fue necesario ordenarlo.

El tener ahora el order by no me genera más proceso, afecta en la
optimización????
Aunque de lo que veo no porque en el plan de ejecución arreglado (sin quemar
el indice) si se va por este indice de nombre


Yo tambien concuerdo en no quemar las indices, ya que el indice
"Isaias" escribió:

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
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
23/08/2006 - 14:14 | Informe spam
Pao,

Si puedes ordenar el conjunto en la aplicación cliente, entonces liberaras
al servidor de esa tarea, la cual consume tiempo y recursos. La unica forma
de garantizar que un resultado este ordenado, en SQL Server, es usando la
clausula "order by", de lo contrario SQL Server puede darse el lujo de
escojer como devolver ese resultado. No es una buena practica programar
basado en el comportamiento interno del Sistema de Base de Datos que uses,
que pasaria si ese comportamiento cambia entre un service pack y otro, o
entre una version y otra?.

Quaere Verum - Clustered Index Scans - Part I
http://www.sqlmag.com/Article/Artic...92886.html

Quaere Verum - Clustered Index Scans - Part II
http://www.sqlmag.com/Article/Artic...92887.html

Quaere Verum - Clustered Index Scans - Part III
http://www.sqlmag.com/Article/Artic...92888.html


AMB

"Pao" wrote:


Te cuento que hice el cambio a esto:
select * from deudores --(index = i_de_nombre)
where de_fecha = @w_fecha_max and de_nombre >= @idnombre order by de_nombre

y ya funciono igual como sqlserver 6.5 pero mi duda es porque trabajan
diferente en este sentido?????Ya que en el 6.5 no fue necesario ordenarlo.

El tener ahora el order by no me genera más proceso, afecta en la
optimización????
Aunque de lo que veo no porque en el plan de ejecución arreglado (sin quemar
el indice) si se va por este indice de nombre


Yo tambien concuerdo en no quemar las indices, ya que el indice
"Isaias" escribió:

> 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
> >
> >
Respuesta Responder a este mensaje
#4 Alejandro Mesa
23/08/2006 - 15:36 | Informe spam
Pao,

Ahora si ya no puedo hacer el ordenamiento por el front-end porque no tengo
los fuentes, tu crees que sea mucha la carga que me causará el motor???



Eso depende del tamaño del resultado, información a la que no tenemos
accesso. Si el resultado es de pocas lineas, no sera mucha la carga.


AMB

"Pao" wrote:

Gracias alexandro, aunque te comento que la aplicación fue desarrollada hace
tiempo, lo que yo estoy haciendo es migrar esta versión de sqlserver 6.5 a
sqlserver 2000. Pero ya en mi fase de pruebas noto estas diferencias.
Ahora si ya no puedo hacer el ordenamiento por el front-end porque no tengo
los fuentes, tu crees que sea mucha la carga que me causará el motor???


"Alejandro Mesa" escribió:

> Pao,
>
> Si puedes ordenar el conjunto en la aplicación cliente, entonces liberaras
> al servidor de esa tarea, la cual consume tiempo y recursos. La unica forma
> de garantizar que un resultado este ordenado, en SQL Server, es usando la
> clausula "order by", de lo contrario SQL Server puede darse el lujo de
> escojer como devolver ese resultado. No es una buena practica programar
> basado en el comportamiento interno del Sistema de Base de Datos que uses,
> que pasaria si ese comportamiento cambia entre un service pack y otro, o
> entre una version y otra?.
>
> Quaere Verum - Clustered Index Scans - Part I
> http://www.sqlmag.com/Article/Artic...92886.html
>
> Quaere Verum - Clustered Index Scans - Part II
> http://www.sqlmag.com/Article/Artic...92887.html
>
> Quaere Verum - Clustered Index Scans - Part III
> http://www.sqlmag.com/Article/Artic...92888.html
>
>
> AMB
>
> "Pao" wrote:
>
> >
> > Te cuento que hice el cambio a esto:
> > select * from deudores --(index = i_de_nombre)
> > where de_fecha = @w_fecha_max and de_nombre >= @idnombre order by de_nombre
> >
> > y ya funciono igual como sqlserver 6.5 pero mi duda es porque trabajan
> > diferente en este sentido?????Ya que en el 6.5 no fue necesario ordenarlo.
> >
> > El tener ahora el order by no me genera más proceso, afecta en la
> > optimización????
> > Aunque de lo que veo no porque en el plan de ejecución arreglado (sin quemar
> > el indice) si se va por este indice de nombre
> >
> >
> > Yo tambien concuerdo en no quemar las indices, ya que el indice
> > "Isaias" escribió:
> >
> > > 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
> > > >
> > > >
Respuesta Responder a este mensaje
#5 Pao
23/08/2006 - 16:01 | Informe spam
Gracias alexandro, aunque te comento que la aplicación fue desarrollada hace
tiempo, lo que yo estoy haciendo es migrar esta versión de sqlserver 6.5 a
sqlserver 2000. Pero ya en mi fase de pruebas noto estas diferencias.
Ahora si ya no puedo hacer el ordenamiento por el front-end porque no tengo
los fuentes, tu crees que sea mucha la carga que me causará el motor???


"Alejandro Mesa" escribió:

Pao,

Si puedes ordenar el conjunto en la aplicación cliente, entonces liberaras
al servidor de esa tarea, la cual consume tiempo y recursos. La unica forma
de garantizar que un resultado este ordenado, en SQL Server, es usando la
clausula "order by", de lo contrario SQL Server puede darse el lujo de
escojer como devolver ese resultado. No es una buena practica programar
basado en el comportamiento interno del Sistema de Base de Datos que uses,
que pasaria si ese comportamiento cambia entre un service pack y otro, o
entre una version y otra?.

Quaere Verum - Clustered Index Scans - Part I
http://www.sqlmag.com/Article/Artic...92886.html

Quaere Verum - Clustered Index Scans - Part II
http://www.sqlmag.com/Article/Artic...92887.html

Quaere Verum - Clustered Index Scans - Part III
http://www.sqlmag.com/Article/Artic...92888.html


AMB

"Pao" wrote:

>
> Te cuento que hice el cambio a esto:
> select * from deudores --(index = i_de_nombre)
> where de_fecha = @w_fecha_max and de_nombre >= @idnombre order by de_nombre
>
> y ya funciono igual como sqlserver 6.5 pero mi duda es porque trabajan
> diferente en este sentido?????Ya que en el 6.5 no fue necesario ordenarlo.
>
> El tener ahora el order by no me genera más proceso, afecta en la
> optimización????
> Aunque de lo que veo no porque en el plan de ejecución arreglado (sin quemar
> el indice) si se va por este indice de nombre
>
>
> Yo tambien concuerdo en no quemar las indices, ya que el indice
> "Isaias" escribió:
>
> > 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
> > >
> > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida