Realizando Deletes con alias

06/11/2007 - 14:54 por Branko | Informe spam
Hola A todos:

El problema es bastante sencillo, utilizando alias me es posible realizar
tareas de select, sin embargo cuando deseo realizar un deletecon alias me
resonde con el error:

Mens. 102, Nivel 15, Estado 1, Línea 1
Sintaxis incorrecta cerca de 'a'.

la sentencia SQL es:
delete from tabla a where a.campo='valor'

Si ejectuto la sentencia sin alias (a, este funciona sim problemas)

Estoy trabajando con SQL 2005 x64 Enterprise y Service Pack 2, que en teoría
corrige este problema..
http://support.microsoft.com/kb/913371 que se encuentra en el Sp2 y c
laramente funciona con el select.

Alguna sugerencia?, tral vez la sintaxis en SQL 2005 no es la que estoy
usando?

Muchas Gracias

Preguntas similare

Leer las respuestas

#6 Leonardo Azpurua
07/11/2007 - 02:08 | Informe spam
"Isaias" escribió en el mensaje
news:
Eso lo puedes hacer con:

DELETE tabla
FROM Tu consulta con JOIN
Saludos
IIslas



Y también puedes hacerlo si el alias:

DELETE FROM Detalles
WHERE NOT CodigoItem IN
(SELECT Codigo FROM Productos)

sólo que en Access, por ejemplo, la construcción original funciona, y es
mucho más eficiente que ésta.

Preguntabas cual era el sentido de usar alias en un DELETE. Te respondí que
no lo tiene, en T/SQL. Pero mucho de la audiencia de este foro somos
desarrolladores con algún problema específico relacionado con SQL (a veces
ni siquiera específico de SQL Server), y me pareció prudente explicarte que
aunque no tuviera sentido, al menos podía tener una motivación.

Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida