una delete

09/08/2006 - 12:11 por Enrique Garcia | Informe spam
Hola grupo,

Como puedo borrar el resultado de una select?? es decir lo que quiero borrar
es el resultado del enlace por INNER JOIN de dos tablas pero me dice que hay
"Sintaxis incorrecta cerca de la palabra clave 'inner'."

ej:

delete from tblPrimeraTabla inner join tblSegundaTabla on tblPrimeraTabla.id
= tblSegundaTabla.id
where [lo que sea]

Gracias,

Preguntas similare

Leer las respuestas

#1 Maxi
09/08/2006 - 14:01 | Informe spam
Hola, proba asi:

delete tblprimera
from tblPrimeraTabla inner join tblSegundaTabla on tblPrimeraTabla.id
= tblSegundaTabla.id
where [lo que sea]




Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org
Speaker INETA
Speaker Culminis


"Enrique Garcia" escribió en el mensaje
news:
Hola grupo,

Como puedo borrar el resultado de una select?? es decir lo que quiero
borrar es el resultado del enlace por INNER JOIN de dos tablas pero me
dice que hay "Sintaxis incorrecta cerca de la palabra clave 'inner'."

ej:

delete from tblPrimeraTabla inner join tblSegundaTabla on
tblPrimeraTabla.id = tblSegundaTabla.id
where [lo que sea]

Gracias,

Respuesta Responder a este mensaje
#2 Alejandro Mesa
09/08/2006 - 14:16 | Informe spam
Trata:

delete dbo.tblPrimeraTabla
where exists (
select *
from dbo.tblSegundaTabla as s
where s.[id] = dbo.tblPrimeraTabla.[id] and ...
)
go


AMB

"Enrique Garcia" wrote:

Hola grupo,

Como puedo borrar el resultado de una select?? es decir lo que quiero borrar
es el resultado del enlace por INNER JOIN de dos tablas pero me dice que hay
"Sintaxis incorrecta cerca de la palabra clave 'inner'."

ej:

delete from tblPrimeraTabla inner join tblSegundaTabla on tblPrimeraTabla.id
= tblSegundaTabla.id
where [lo que sea]

Gracias,



Respuesta Responder a este mensaje
#3 Isaias
09/08/2006 - 20:18 | Informe spam
Alex

Viendo tu recomendacion y la de Maxi, ¿Que diferencia hay entre la
instrucion FROM y la de EXISTS?, ¿Existe algun MAYOR RENDIMIENTO en
cualquiera de las dos recomendaciones?.

Gracias
Saludos
IIslas


"Alejandro Mesa" wrote:

Trata:

delete dbo.tblPrimeraTabla
where exists (
select *
from dbo.tblSegundaTabla as s
where s.[id] = dbo.tblPrimeraTabla.[id] and ...
)
go


AMB

"Enrique Garcia" wrote:

> Hola grupo,
>
> Como puedo borrar el resultado de una select?? es decir lo que quiero borrar
> es el resultado del enlace por INNER JOIN de dos tablas pero me dice que hay
> "Sintaxis incorrecta cerca de la palabra clave 'inner'."
>
> ej:
>
> delete from tblPrimeraTabla inner join tblSegundaTabla on tblPrimeraTabla.id
> = tblSegundaTabla.id
> where [lo que sea]
>
> Gracias,
>
>
>
Respuesta Responder a este mensaje
#4 Alejandro Mesa
09/08/2006 - 21:46 | Informe spam
Isaias,

La primera version (delete table_name ... from ...) es una extension de
T-SQL. La segunda es compatible con el estandard SQL-92.

En cuanto al rendimiento, depende de la cantidad de filas e indexes en cada
tabla. Por ejemplo, las siguientes sentencias dan el mismo plan de ejecucion
en SQL Server 2000.

use northwind
go

delete dbo.[order details]
from dbo.[order details] as od inner join dbo.[orders] as oh on od.orderid =
oh.orderid
where oh.customerid = N'ALFKI'

delete dbo.[order details]
where exists (
select *
from dbo.[orders] as oh
where oh.orderid = dbo.[order details].orderid and oh.customerid = N'ALFKI'
)

Ahora mi pregunta, cual crees que es mas legible?.


AMB



"Isaias" wrote:

Alex

Viendo tu recomendacion y la de Maxi, ¿Que diferencia hay entre la
instrucion FROM y la de EXISTS?, ¿Existe algun MAYOR RENDIMIENTO en
cualquiera de las dos recomendaciones?.

Gracias
Saludos
IIslas


"Alejandro Mesa" wrote:

> Trata:
>
> delete dbo.tblPrimeraTabla
> where exists (
> select *
> from dbo.tblSegundaTabla as s
> where s.[id] = dbo.tblPrimeraTabla.[id] and ...
> )
> go
>
>
> AMB
>
> "Enrique Garcia" wrote:
>
> > Hola grupo,
> >
> > Como puedo borrar el resultado de una select?? es decir lo que quiero borrar
> > es el resultado del enlace por INNER JOIN de dos tablas pero me dice que hay
> > "Sintaxis incorrecta cerca de la palabra clave 'inner'."
> >
> > ej:
> >
> > delete from tblPrimeraTabla inner join tblSegundaTabla on tblPrimeraTabla.id
> > = tblSegundaTabla.id
> > where [lo que sea]
> >
> > Gracias,
> >
> >
> >
Respuesta Responder a este mensaje
#5 Maxi
10/08/2006 - 02:08 | Informe spam
Para mi gusto la ANSI :-) pero lo mio ya es una deformacion uso siempre TSQL
y del ansi casi me olvide :(



Salu2

Microsoft MVP SQL Server
www.sqlgururs.org
Email:


"Alejandro Mesa" wrote in message
news:
Isaias,

La primera version (delete table_name ... from ...) es una extension de
T-SQL. La segunda es compatible con el estandard SQL-92.

En cuanto al rendimiento, depende de la cantidad de filas e indexes en
cada
tabla. Por ejemplo, las siguientes sentencias dan el mismo plan de
ejecucion
en SQL Server 2000.

use northwind
go

delete dbo.[order details]
from dbo.[order details] as od inner join dbo.[orders] as oh on od.orderid
> oh.orderid
where oh.customerid = N'ALFKI'

delete dbo.[order details]
where exists (
select *
from dbo.[orders] as oh
where oh.orderid = dbo.[order details].orderid and oh.customerid =
N'ALFKI'
)

Ahora mi pregunta, cual crees que es mas legible?.


AMB



"Isaias" wrote:

Alex

Viendo tu recomendacion y la de Maxi, ¿Que diferencia hay entre la
instrucion FROM y la de EXISTS?, ¿Existe algun MAYOR RENDIMIENTO en
cualquiera de las dos recomendaciones?.

Gracias
Saludos
IIslas


"Alejandro Mesa" wrote:

> Trata:
>
> delete dbo.tblPrimeraTabla
> where exists (
> select *
> from dbo.tblSegundaTabla as s
> where s.[id] = dbo.tblPrimeraTabla.[id] and ...
> )
> go
>
>
> AMB
>
> "Enrique Garcia" wrote:
>
> > Hola grupo,
> >
> > Como puedo borrar el resultado de una select?? es decir lo que quiero
> > borrar
> > es el resultado del enlace por INNER JOIN de dos tablas pero me dice
> > que hay
> > "Sintaxis incorrecta cerca de la palabra clave 'inner'."
> >
> > ej:
> >
> > delete from tblPrimeraTabla inner join tblSegundaTabla on
> > tblPrimeraTabla.id
> > = tblSegundaTabla.id
> > where [lo que sea]
> >
> > Gracias,
> >
> >
> >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida