Programación General => Power Builder => Mensaje iniciado por: henjuacar1 en Domingo 17 de Junio de 2007, 19:15
Título: Forma De Eliminar Registros De Tablas Relacionadas
Publicado por: henjuacar1 en Domingo 17 de Junio de 2007, 19:15
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.
Título: Re: Forma De Eliminar Registros De Tablas Relacionadas
Publicado por: F_Tanori en Lunes 18 de Junio de 2007, 11:33
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
UPDATE datosper SET codcargo='eliminado' WHERE codcargo='50'
DELETE FROM cargos WHERE codcargo='50'
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?