Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2006
kejos kejos is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Poder: 0
kejos Va por buen camino
Unhappy procedimiento de eliminacion

Hola a todos!!!!!
yo tengo el siguiente procedimiento:

Código SQL [-]
CREATE procedure spEliminarDatos (@docidentidad varchar(30),@idtipodoc int,
  @nombrescompletos nvarchar(50), @primerapellido nvarchar(50),
  @segundoapellido nvarchar(50), @direccion nvarchar(50), @telefono nvarchar(50),
  @mail nvarchar(50), @fechanac datetime, @idciudadnac int,
  @estadocivil nvarchar(50),  @sexo nvarchar(50), @idpaisnac int,
  @barrio nvarchar(50),  @idciudadres int, @idpaisres int, @fax nvarchar(50),
  @celular nvarchar(50),@UltActualizacion datetime) AS if exists (select [docidentidad],
  [nombrescompletos], [primerapellido], [segundoapellido] from InfPersonal where
  [docidentidad]=@docidentidad and [nombrescompletos]=@nombrescompletos and
  [primerapellido]=@primerapellido and [segundoapellido]=@segundoapellido) delete from
  [InfPersonal] where [docidentidad]=@docidentidad else raiserror
  ('Los Datos Ingresados No Existen',16,1)
return GO

y lo estoy llamando desde una aplicacionde asp pero tengo un pequeño problema cómo estos son datos personales hay tablas que estan relacionadas con es tos datos por lo cuál no se me eliminan los datos por las relaciones lo que yo quiero es poder hacer la eliminacion en el procedimiento en cascada, es decir; que primero borre los datos de las tablas que esten relacionadas con ese registro y luego si me haga la eliminación de los datos personales
cómo puedo hacerlo???
a quien me pueda ayudar se lo agradezco es cómo urgente espero sus respuestas

Última edición por dec fecha: 30-01-2006 a las 16:16:19.
Responder Con Cita
  #2  
Antiguo 30-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes utilizar restricciones de integridad referencial en cascada.
Busca ayuda en SQL Server para más datos, pero básicamente, defines las relaciones entre tablas utilizando ON DELETE CASCADE (para tu caso), de forma que cuando borres los datos, borrará los registros relacionados en el resto de tablas (que creo que es lo que quieres).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 30-01-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Tendrás que estudiar como estan diseñadas las relaciones y borrar en la tabla que tiene un autoincremento (suele ser la tabla maestra), si todas las tablas que tienen clave ajena (foreign key) tienen on delete cascade, el SGBD se encargará de borrarlas.

Como ves funciona justo al revés de como has supuesto. Debes borrar la maestra, y el sistema borrará lo demás.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 30-01-2006
kejos kejos is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Poder: 0
kejos Va por buen camino
Talking gracias

Hola!!!!
muchas gracias por sus respuestas me han sido de muchisima ayuda
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Procedimiento almacenado LucianoRey MS SQL Server 2 23-08-2005 00:37:06
Salir de un procedimiento recursivo cardomjar Varios 3 18-04-2005 20:07:38
Ayuda, como llamar a un procedimiento desde otro procedimiento? Ariatna Varios 1 01-02-2005 04:05:35
confirmar transaccion en un procedimiento almacenado karocs SQL 3 09-08-2004 18:49:24
Ayuda sobre un Procedimiento Almacenado Nuria Firebird e Interbase 6 21-01-2004 13:18:15


La franja horaria es GMT +2. Ahora son las 08:11:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi