SQL - Eliminar una fila duplicada con un Stored Procedure

 
Vista:
Imágen de perfil de Rubhenn

Eliminar una fila duplicada con un Stored Procedure

Publicado por Rubhenn (12 intervenciones) el 29/05/2015 20:45:25
Que tal, los molesto de nuevo.

Tengo estas 2 tablas:

PiramideTarifas
(
idPird int identity (1,1) Primary Key,
NomPir varchar (60),
FchIni char (8),
FchFin char (8),
FchOpr char(8),
HorOpr char (5),
/*Baja de Operación*/
Baja tinyint,
IdUser int,
);



PiramideSucursales
(
idPiSu int identity (1,1),
idPird int references PiramideTarifas (idPird),
Origen char (3),
Destin char (3),
Precio numeric (13,2),
);

Lo que quiero hacer es lo siguiente, ya tengo como insertar y actualizar un registro mediante un Stored Procedure, pero lo que quiero saber es como eliminar una fila si se encuentra duplicado algún registro en las tablas.


Los procedimientos que tengo son los siguientes:

drop proc spIUPiramideTarifas
go
create proc spIUPiramideTarifas
@idPird int,
@NomPir varchar (60),
@FchIni char (8),
@FchFin char (8),
@Baja tinyint,
@IdUser int
as

declare @FchOpr char(8), @HorOpr char (5)

--sacar la fecha y hora actual del servidor
select @FchOpr = convert (char(8), getdate(), 112), @HorOpr = convert (char(5), getdate(), 108)

if @idpird = 0 begin

insert into PiramideTarifas
select @NomPir, @FchIni, @FchFin, @FchOpr, @HorOpr, @Baja, @IdUser

if @@rowcount = 1 begin
print 'Elemento guardado correctamente'
end else begin
print 'El elemento no se ha guardado'
end
end else if @idpird > 0 begin
update PiramideTarifas
set
NomPir = @Nompir, Fchini = @FchIni, FchFin = @FchFin, FchOpr = @FchOpr, HorOpr = @HorOpr, Baja = @Baja, IdUser = @IdUSer
where
idpird = @idpird

select @@rowcount
end
GO

grant exec on spIUPiramideTarifas to public






drop proc spIUPiramideSucursales
go
create proc spIUPiramideSucursales
@idPiSu int,
@idPird int,
@Origen char (3),
@Destin char (3),
@Precio numeric (13,2)
as

insert into PiramideSucursales select @idPird, @Origen, @Destin, @Precio

select @@rowcount

if @@rowcount = 1 begin
print 'Elemento guardado correctamente'
end
else
print'El elemento no se ha guardado'
go

grant exec on spIUPiramideSucursales to public



necesito que me valide si existe algun registro igual y si es asi me elimine dicho registro, todo mediante el mismo Stored Procedure.

Estoy utilizando SQL 6.5..agradeceria me pudieran ayudar. Siento que es sencilla la conidcion, pero no he encontrado la solucion.

Saludos y espero que se entienda mi consulta.!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rubhenn

Eliminar una fila duplicada con un Stored Procedure

Publicado por Rubhenn (12 intervenciones) el 29/05/2015 21:17:07
Se me paso mencionar que como es obvio, los identity de las tablas no se duplicaran, pero los demas datos es posible que si, asi que en caso de que exista un duplicado de los demas campos pueda realizar una eliminación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Eliminar una fila duplicada con un Stored Procedure

Publicado por Isaias (1921 intervenciones) el 29/05/2015 22:15:56
¿En que motor de base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rubhenn

Eliminar una fila duplicada con un Stored Procedure

Publicado por Rubhenn (12 intervenciones) el 29/05/2015 22:28:45
SQL 6.5 En mi primer comentario lo menciono
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Eliminar una fila duplicada con un Stored Procedure

Publicado por Isaias (1921 intervenciones) el 01/06/2015 18:09:40
Ok, ya lei todo tu comentario, SQL 6.5, es de que compañía??? (Microsoft)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rubhenn

Eliminar una fila duplicada con un Stored Procedure

Publicado por Rubhenn (12 intervenciones) el 01/06/2015 18:12:51
Asi es..Microsoft.!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Eliminar una fila duplicada con un Stored Procedure

Publicado por Isaias (1921 intervenciones) el 02/06/2015 00:22:12
Es una versión muy, pero muy vieja, no se si lo que te recomiende te ayude.

https://support.microsoft.com/en-us/kb/139444

Ya pasaron

7.0
2000
2005
2008
2008 R2
2012
2014
y esta por liberarse 2016
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rubhenn

Eliminar una fila duplicada con un Stored Procedure

Publicado por Rubhenn (12 intervenciones) el 02/06/2015 00:41:33
Sabia que era algo simple..Muchas gracias.!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar