• Viernes 1 de Noviembre de 2024, 06:24

Autor Tema:  Forma De Eliminar Registros De Tablas Relacionadas  (Leído 2114 veces)

henjuacar1

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Forma De Eliminar Registros De Tablas Relacionadas
« en: Domingo 17 de Junio de 2007, 19:15 »
0
tengo 2 tablas cargos(principal), y datosper(foránea), quisiera eliminar registros de la tabla cargos pero no me permite, ahora power builder me presenta 3 opciones de eliminar registros de tablas relacionadas, pero ninguna de las tres se acomoda a lo que yo necesito.
quiero eliminar registros de la tabla cargos, sin que se elimine los registros de la tabla secundaria, la cual se relaciona por el campo codcargo.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Forma De Eliminar Registros De Tablas Relacionadas
« Respuesta #1 en: Lunes 18 de Junio de 2007, 11:33 »
0
Citar
ahora power builder me presenta 3 opciones de eliminar registros de tablas relacionadas, pero ninguna de las tres se acomoda a lo que yo necesito.

¿a que te refieres con eso?

¿estas hablando de las tablas de la base de datos, o a los datos en un datawindow relacionado?

si es de la base de datos:
y eliminas datos de la tabla principal lo que conseguirias es 'quebrantar' la integridad de tus datos pues dejaras registros 'huerfanos' en la tabla secundaria y es precisamente para lo que se declaran las llaves foraneas (para cuidar la integridad referencial )

Si tu sistema trabaja asi ¿no seria conveniente que mejor no definieras la foranea? pues no cumple su objetivo


o utilizar un registro 'padre' que indique que fue eliminado

ejemplo

cargos
Citar
codcargo | descripcion
----------------------------------
eliminado| registro eliminado

y tener que actualizar los datos en la segunda tabla

Código: Text
  1.  
  2. UPDATE datosper SET codcargo='eliminado' WHERE codcargo='50'
  3. DELETE FROM cargos WHERE codcargo='50'
  4.  
  5.  

para no dejar los detalles 'huerfanos' sino apuntando a 'eliminado'


Bueno , eso es lo que entendi


¿Que version estas utilizando? y ¿que base de datos?

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================