Consulta de mensajes

SQL3600 - SQL3699

SQL3600NLa opción IMMEDIATE CHECKED de la sentencia SET INTEGRITY no es válida porque la tabla "<nombre-tabla>" no se encuentra en estado de pendiente de comprobación.

Explicación: Se comprobará que en los datos no se hayan producido violaciones de restricción sólo si la tabla se encuentra en estado de pendiente de comprobación.

Respuesta del usuario: Utilice la sentencia SET INTEGRITY especificando la opción OFF para situar una tabla en estado de pendiente de comprobación.

sqlcode: -3600

sqlstate: 51027

SQL3601WLa sentencia ha hecho que se colocaran una o más tablas en el estado de pendiente de comprobación.

Explicación: Esto puede producirse en dos situaciones.

  1. Cuando una tabla padre se establece en una estructura de referencias es necesario que las tablas dependientes y descendentes se establezca a estado de pendiente de comprobación. Esta acción es necesaria para forzar las restricciones de integridad de referencia. Para añadir una clave externa cuando la tabla padre se encuentra en estado de pendiente de comprobación es necesario que todos los pendientes y descendentes de la tabla padre se sitúen automáticamente en estado de pendiente de comprobación.
  2. Para definir una tabla base que tiene tablas de resumen de renovación inmediata dependientes, dichas tablas de resumen dependientes deben tener el estado de pendiente de comprobación. Esto es necesario para reforzar la relación de datos entre la tabla base y la tabla de resumen dependiente.

Respuesta del usuario: Este es un mensaje de aviso. El usuario debe ejecutar la sentencia SET INTEGRITY con la opción IMMEDIATE CHECKED a fin de validar la integridad de todas las tablas descendientes y dependientes.

sqlcode: +3601

sqlstate: 01586

SQL3602WEl proceso de comprobación de datos ha detectado violaciones de restricción y las ha movido a tablas de excepciones.

Explicación: Existen filas que violan las restricciones cuya comprobación se especificó mediante la ejecución de la sentencia SET INTEGRITY. Éstas se movieron a las tablas de excepción.

Respuesta del usuario: Compruebe si en las tablas de excepción existen filas que violen las restricciones. Las filas se han eliminado de la tabla original pero pueden corregirse y volver a transferirse desde las tablas de excepción.

sqlcode: +3602

sqlstate: 01603

SQL3603NEl proceso de comprobación de datos efectuado mediante la sentencia SET INTEGRITY ha detectado la violación de la restricción "<nombre-restricción>".

Explicación: Se ha detectado una fila que viola una restricción definida en una tabla cuya comprobación se había especificado mediante la sentencia SET CONSTRAINST. El nombre "<nombre>" es un nombre de restricción o el nombre de una columna generada.

Respuesta del usuario: La fila no se ha eliminado de la tabla porque no se utilizó la opción FOR EXCEPTION.

Cuando se validen los datos, se recomienda ejecutar la sentencia SET INTEGRITY mediante la utilización de la opción FOR EXCEPTION. Los datos pueden corregirse utilizando la información de la tabla o tablas de excepción.

sqlcode: -3603

sqlstate: 23514

SQL3604NLa tabla de excepción "<nombre-tabla-excepción>" que corresponde a la tabla "<nombre-tabla>" en la sentencia SET INTEGRITY o en el programa de utilidad LOAD no tiene la estructura adecuada, se ha definido con índices, restricciones, columnas generadas o activadores únicos o se encuentra en estado de pendiente de comprobación.

Explicación: La tabla de excepción que corresponda a una tabla debe tener una definición similar a la de la tabla original. Las columnas opcionales del programa de utilidad son las especificadas en la sección respectiva de la documentación que describe las tablas de excepción. Tal vez no haya ninguna columna generada en la tabla de excepción. No deben definirse restricciones ni activadores en la tabla de excepción. La tabla de excepción tampoco debe estar en estado de pendiente de comprobación.

Respuesta del usuario: Cree la tabla de excepción como se indica en la sección respectiva de la documentación y vuelva a ejecutar el programa de utilidad o la sentencia.

sqlcode: -3604

sqlstate: 428A5

SQL3605NLa tabla "<nombre-tabla>" mencionada en la sentencia SET INTEGRITY no está en la lista de comprobación o es una tabla de excepción que se especifica em más de una ocasión.

Explicación: Cuando la cláusula FOR EXCEPTION se especifica en la sentencia SET INTEGRITY, este error puede estar ocasionado por alguno de los siguientes motivos:

Respuesta del usuario: Corrija los nombres de las tablas y vuelva a ejecutar el mandato.

sqlcode: -3605

sqlstate: 428A6

SQL3606NHay una discrepancia en el número de tablas que se están comprobando y en el número de tablas de excepciones especificadas en la sentencia SET INTEGRITY.

Explicación: Debe haber una correspondencia unívoca entre las tablas originales y las tablas de excepción que aparecen en la lista.

Respuesta del usuario: Cree la tabla de excepción que falta si todavía no lo ha hecho y especifíquela en la lista para poder ejecutar de nuevo el mandato.

sqlcode: -3606

sqlstate: 428A7

SQL3608NNo puede comprobarse ni restaurarse el estado de Pendiente de comprobación de la tabla dependiente "<nombre-tabla-dependiente>" mediante la utilización de la sentencia SET INTEGRITY mientras la tabla padre "<nombre-tabla-padre>" esté en estado de pendiente de comprobación.

Explicación: La tabla padre debe borrarse (no mientras esté en estado de pendiente de comprobación) o incluirse en la lista de llamadas para que pueda

Respuesta del usuario: Asegúrese de que la tabla padre no esté pendiente de comprobación ejecutando la sentencia SET INTEGRITY para comprobar la tabla padre.

Se recomienda comprobar en primer lugar la tabla padre. También es posible comprobar la tabla dependiente e incluir la tabla padre en la lista de llamadas. En este caso, el mandato también podría fallar si existen violaciones de restricciones en la tabla padre y no se eliminan. Esto puede suceder si la opción FOR EXCEPTION no se utiliza.

En caso de un ciclo de referencias, todas las tablas deben incluirse en la lista de llamadas.

sqlcode: -3608

sqlstate: 428A8


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]