Resultados imprebisibles en UPDATE con SQL 2005

13/02/2007 - 16:25 por Joan Ibáñez | Informe spam
SQL Server 2005.

¡Hola! Si realizo una sentencia update desde el apartado de "Nueva Consulta"
en el Management Studio, actualiza los registros correspondientes de la
tabla de forma correcta, pero, si lanzo la misma sentencia desde el apartado
SQL, en la vista de registros de la tabla en "Abrir Tabla" (no se si me
explico), entonces me actualiza ¡¡todos los registros de la tabla!!. Me he
fijado que automaticamente me añade al final de la sentencia un "CROSS JOIN
DBPOLIZAS".

¿Debo preocuparme? Tenemos un ERP que estamos migrando de VS2003 con SQL2000
a VS2005 con SQL2005, y estamos algo preocupados pq no sabemos si las
sentencias update y delete que usamos en el programa seguiran funcionando de
forma correcta.

La sentencia update es la siguiente:

UPDATE DBPOLIZAS
SET Comision1 = 17, Comision2 = 17

FROM DBPOLIZAS AS T0 INNER JOIN DBPOLIZAS_ULTIMOSUPLEMENTO_SINTMP_ACTIVAS AS
T1

ON T0.Compañia = T1.Compañia AND T0.Poliza = T1.Poliza AND T0.Suplemento =
T1.UltimoSuplemento

AND T0.Agente = '00815' AND T0.Producto LIKE '6%'

INNER JOIN DBRISRECREO AS T2

ON T0.Compañia = T2.Compañia AND T0.Poliza = T2.Poliza AND T0.Suplemento =
T2.Suplemento

AND T2.TipoTarifa = '0'


Saludos,
Joan
 

Leer las respuestas

#1 Gustavo Larriera (MVP)
13/02/2007 - 16:41 | Informe spam
Si vas a ejecutar el UPDATE manualmente, debes hacerlo desde New Query del
Management Studio.


Gustavo Larriera, MVP | Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"Joan Ibáñez" wrote:

SQL Server 2005.

¡Hola! Si realizo una sentencia update desde el apartado de "Nueva Consulta"
en el Management Studio, actualiza los registros correspondientes de la
tabla de forma correcta, pero, si lanzo la misma sentencia desde el apartado
SQL, en la vista de registros de la tabla en "Abrir Tabla" (no se si me
explico), entonces me actualiza ¡¡todos los registros de la tabla!!. Me he
fijado que automaticamente me añade al final de la sentencia un "CROSS JOIN
DBPOLIZAS".

¿Debo preocuparme? Tenemos un ERP que estamos migrando de VS2003 con SQL2000
a VS2005 con SQL2005, y estamos algo preocupados pq no sabemos si las
sentencias update y delete que usamos en el programa seguiran funcionando de
forma correcta.

La sentencia update es la siguiente:

UPDATE DBPOLIZAS
SET Comision1 = 17, Comision2 = 17

FROM DBPOLIZAS AS T0 INNER JOIN DBPOLIZAS_ULTIMOSUPLEMENTO_SINTMP_ACTIVAS AS
T1

ON T0.Compañia = T1.Compañia AND T0.Poliza = T1.Poliza AND T0.Suplemento =
T1.UltimoSuplemento

AND T0.Agente = '00815' AND T0.Producto LIKE '6%'

INNER JOIN DBRISRECREO AS T2

ON T0.Compañia = T2.Compañia AND T0.Poliza = T2.Poliza AND T0.Suplemento =
T2.Suplemento

AND T2.TipoTarifa = '0'


Saludos,
Joan




Preguntas similares