Evitar Error

28/10/2007 - 17:03 por Edwin Rivera | Informe spam
Hola como puedo evitar el error al eliminar de una tabla generico(Ocupacion)
que existen en otra tabla principal(RRHH).
El error que sale en un msgbox es esta
Instruccion DELETE en copnflito con la restriccion COLUMN REFERENCE
'FK_RR_Ocupacion'. El conflicto ha aparecido en la base de datos
'ProgRegistro, tabla 'RRHH'',column 'CodOcup'.
Se termino la instruccion.
Gracias por su respuesta

Preguntas similare

Leer las respuestas

#1 jeastman - Hotmail
28/10/2007 - 17:28 | Informe spam
Hola Edwin.

No estoy seguro si te copie adecuadamente, aqui un comentario, en caso que
te haya entendido mal, por favor comenta nuevamente la pregunta para ver si
te podemos ayudar.

Si lo que quieres es que no salga ese mensaje y cambiarlo por algo más
amistoso, controla el error y muestra uno a tu gusto.

Ahora, si lo que quieres es poder eliminar el registro sin que te de el
error, debes eliminar primero los registros foraneos en la tabla RRHH.

Si no es el caso por favor expon nuevamente el problema.

Un saludo.


"Edwin Rivera" escribió en el
mensaje news:
Hola como puedo evitar el error al eliminar de una tabla
generico(Ocupacion)
que existen en otra tabla principal(RRHH).
El error que sale en un msgbox es esta
Instruccion DELETE en copnflito con la restriccion COLUMN REFERENCE
'FK_RR_Ocupacion'. El conflicto ha aparecido en la base de datos
'ProgRegistro, tabla 'RRHH'',column 'CodOcup'.
Se termino la instruccion.
Gracias por su respuesta
Respuesta Responder a este mensaje
#2 Edwin Rivera
29/10/2007 - 01:46 | Informe spam
bueno amigo duisculpa por no hacer bien la pregunta
bueno al querer eliminar una registro foraneo de la tabla RRHH, sale el
mensaje lo ideal es que no salgue niugun mensaje o que salge otro mensaje
como por ejemplo
"No puede elilinar este dato" o algo asi
Gracias por su respuesta
Respuesta Responder a este mensaje
#3 jeastman - Hotmail
29/10/2007 - 01:58 | Informe spam
Ok, con que lenguaje estás haciendo el frontend?, qué librería de conexión
estás utilizando, rdo, odbc, ado, dao?

Todos los lenguajes tienen alguna forma de capturar los errores de tiempo de
ejecución, por ejemplo, vb on error..., c++ try, etc.

Ahora, que hago yo para evitarme ese mensaje de error, antes de tratar de
eliminar un registro en una tabla padre, verifico con una instrucción algo
asi:

if exists (select 1
from tablaHija
where codigo = @codigo )
begin
raiserror( 'No se puede eliminar el registro de la tabla XXXX, existe
uno o más registros con referencia al mismo en .', 16, 1 )
return -1
end

Esto si lo haces directamente en SQL-Server, desde el cliente puedes hacer
la consulta y el mensaje lo manejas directamente en el cliente.

Existen muchas formas de controlar esa situación, ello depende mucho de tu
estilo, esa es la forma que yo empleo, generalmente dejo todo el control de
los datos a los SP.

Espero que te sea de utilidad.

Saludos.

"Edwin Rivera" escribió en el
mensaje news:
bueno amigo duisculpa por no hacer bien la pregunta
bueno al querer eliminar una registro foraneo de la tabla RRHH, sale el
mensaje lo ideal es que no salgue niugun mensaje o que salge otro mensaje
como por ejemplo
"No puede elilinar este dato" o algo asi
Gracias por su respuesta
Respuesta Responder a este mensaje
#4 Maxi
30/10/2007 - 15:10 | Informe spam
Hola, bueno esto es natural en las bases de datos relacionales, usted tiene
un dato que tiene relaciones y por eso no lo puede eliminar, opciones
entonces

1) Indicarle a la FK que use Delete on cascade
2) No hacer borrados fisicos sino logicos
3) En su proceso de borrado primero eliminar los hijos por ultimo el padre
(cabecera)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Edwin Rivera" escribió en el
mensaje news:
Hola como puedo evitar el error al eliminar de una tabla
generico(Ocupacion)
que existen en otra tabla principal(RRHH).
El error que sale en un msgbox es esta
Instruccion DELETE en copnflito con la restriccion COLUMN REFERENCE
'FK_RR_Ocupacion'. El conflicto ha aparecido en la base de datos
'ProgRegistro, tabla 'RRHH'',column 'CodOcup'.
Se termino la instruccion.
Gracias por su respuesta
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida