DBAtlas · Atlas de operaciones de bases de datos

44000: with_check_option_violation

PostgreSQL

¿Qué significa?

Se rechazó un INSERT/UPDATE a través de una vista definida WITH CHECK OPTION porque la fila resultante ya no cumple la condición WHERE de la vista. La vista impide escribir filas que quedarían fuera de su propio filtro.

¿Por qué ocurre?

Una vista actualizable está definida WITH CHECK OPTION y la escritura deja la fila fuera de la condición que define la vista (p. ej., poner una fila como 'inactive' mientras la vista filtra status='active'). Una comprobación similar puede activarse en las políticas de row-level security (RLS).

Cómo solucionarlo

Asegúrese de que los valores escritos cumplan la condición WHERE de la vista, o realice la operación directamente sobre la tabla base en lugar de la vista (si los privilegios lo permiten). Si la regla de negocio permite que la fila salga del filtro, redefina la vista sin WITH CHECK OPTION. En RLS, revise la expresión WITH CHECK de la política.

Abrir en DBAtlas →

Más entradas de este motor