Borrar Registros

28/02/2008 - 23:39 por Aventurero | Informe spam
Buenas tardes
Tengo una tabla donde agrego registros frecuentemente.

Así
TablaFija (Identificacion int)

Tengo una segunda tabla que es de donde cargo con unos pocos registros.
TablaTemp (Identificacion int)

Debo Borrar los registros de la tabla TablaFija que existan en TablaTemp.

En otras palabras, necesito borrar los registros que acabo de cargar en
TablaFija desde TablaTemp.

Gracias.

Atentamente,


Aventurero

Preguntas similare

Leer las respuestas

#1 Maxi Accotto
29/02/2008 - 03:17 | Informe spam
Hola, algo asi como esto entonces:

delete from sutabla
where id in (select id from su_tablacondatos)


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Aventurero" escribió en el mensaje de
noticias:
Buenas tardes
Tengo una tabla donde agrego registros frecuentemente.

Así
TablaFija (Identificacion int)

Tengo una segunda tabla que es de donde cargo con unos pocos registros.
TablaTemp (Identificacion int)

Debo Borrar los registros de la tabla TablaFija que existan en TablaTemp.

En otras palabras, necesito borrar los registros que acabo de cargar en
TablaFija desde TablaTemp.

Gracias.

Atentamente,


Aventurero

Respuesta Responder a este mensaje
#2 Luis Tarzia
29/02/2008 - 03:59 | Informe spam
delete tablafija from tablafija a left join tablatemp b on a.id = b.id where
b.id is null,si son muchos registros es mas rapido que el in
"Aventurero" escribió en el mensaje
news:
Buenas tardes
Tengo una tabla donde agrego registros frecuentemente.

Así
TablaFija (Identificacion int)

Tengo una segunda tabla que es de donde cargo con unos pocos registros.
TablaTemp (Identificacion int)

Debo Borrar los registros de la tabla TablaFija que existan en TablaTemp.

En otras palabras, necesito borrar los registros que acabo de cargar en
TablaFija desde TablaTemp.

Gracias.

Atentamente,


Aventurero


Respuesta Responder a este mensaje
#3 Alejandro Mesa
29/02/2008 - 15:35 | Informe spam
Aventurero,

La misma oracion pero usando codigo T-SQL.

delete t1
where exists (
select *
from t2
where t2.Identificacion = t1.Identificacion
)


AMB

"Aventurero" wrote:

Buenas tardes
Tengo una tabla donde agrego registros frecuentemente.

Así
TablaFija (Identificacion int)

Tengo una segunda tabla que es de donde cargo con unos pocos registros.
TablaTemp (Identificacion int)

Debo Borrar los registros de la tabla TablaFija que existan en TablaTemp.

En otras palabras, necesito borrar los registros que acabo de cargar en
TablaFija desde TablaTemp.

Gracias.

Atentamente,


Aventurero



Respuesta Responder a este mensaje
#4 Pablo Roca
29/02/2008 - 19:10 | Informe spam
Hola,

Curioso, tres respuestas y todas distintas. :)

Yo hubiera hecho la del IN( de Maxi


Pero bueno, solo por poner una cuarta, si es con SQL Server 2005 esta
valdría

WITH CTE
AS
(
SELECT identificacion FROM tablafija WHERE identificacion IN(SELECT
identificacion FROM tablatemp)
)
DELETE FROM CTE

Ya digo, yo hubiera hecho la del IN, pero me apetecia poner una CTE aqui :))


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com
Respuesta Responder a este mensaje
#5 Maxi Accotto
01/03/2008 - 14:01 | Informe spam
Jeje, es lo bueno de esto, a un problema mas de una solucion viable :-)


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Pablo Roca" escribió en el mensaje de
noticias:
Hola,

Curioso, tres respuestas y todas distintas. :)

Yo hubiera hecho la del IN( de Maxi


Pero bueno, solo por poner una cuarta, si es con SQL Server 2005 esta
valdría

WITH CTE
AS
(
SELECT identificacion FROM tablafija WHERE identificacion IN(SELECT
identificacion FROM tablatemp)
)
DELETE FROM CTE

Ya digo, yo hubiera hecho la del IN, pero me apetecia poner una CTE aqui
:))


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida