Duda sobre consulta en SQL2005

09/11/2007 - 09:42 por Jesús | Informe spam
Hola:

Estamos en proceso de migración de una aplicación a SQL Server 2005 y nos
hemos encontrado que hay ciertas consultas que funcionan en 2005 y que no
funcionan en 2000. A modo de ejemplo:

select p.npresupuesto
from presupuestos_cli p, detalles_pre_cli d
where p.npresupuesto=d.npresupuesto
order by npresupuesto

Esta consulta produce un error en SQL2000 en el ORDER lo cual me parece
correcto ya que el campo aparece en dos tablas y en el order no se está
cualificando pero en SQL2005 no produce error.

¿Esto es una funcionalidad nueva?
¿Hay alguna opción de configuración para que esto provoque error?

Gracias

Jesús
 

Leer las respuestas

#1 Carlos M. Calvelo
09/11/2007 - 17:51 | Informe spam
Hola Jesús,

On 9 nov, 09:42, Jesús wrote:
Hola:

Estamos en proceso de migración de una aplicación a SQL Server 2005 y nos
hemos encontrado que hay ciertas consultas que funcionan en 2005 y que no
funcionan en 2000. A modo de ejemplo:

select p.npresupuesto
from presupuestos_cli p, detalles_pre_cli d
where p.npresupuesto=d.npresupuesto
order by npresupuesto



Si estáis migrando de 2000 a 2005 sería un problema si
algo funciona en el 2000 y no en el 2005 y no al revés.

Si esta consulta es nueva... pues no hagas eso.
Pon 'order by p.npresupuesto'



Esta consulta produce un error en SQL2000 en el ORDER lo cual me parece
correcto ya que el campo aparece en dos tablas y en el order no se está
cualificando pero en SQL2005 no produce error.



Quizás reconozca que es la columna que usas para hacer el
join y esta es igual en las dos tablas.


¿Esto es una funcionalidad nueva?
¿Hay alguna opción de configuración para que esto provoque error?




Si quieres que sql server 2005 se comporte igual a
sql server 2000 puedes bajar el nivel de compatibilidad
de la base de datos a 80 (SQL Server 2000).
Mira en las propieades de la base de datos.

Saludos,
Carlos

Preguntas similares