postgresql - queries - Consultas de SQL Sub en la restricción de verificación
select into select postgresql (1)
No se admite mirar más allá de la fila actual en una restricción CHECK.
http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html dice:
Una restricción de verificación especificada como una restricción de columna debe hacer referencia únicamente al valor de esa columna, mientras que una expresión que aparece en una restricción de tabla puede hacer referencia a varias columnas.
Actualmente, las expresiones CHECK no pueden contener subconsultas ni referirse a variables que no sean columnas de la fila actual.
Existen buenas razones para esta restricción, pero si te gusta hacer malabares con antorchas encendidas mientras viajas en un monociclo a través del tráfico intenso, puedes subvertir la restricción usando las funciones. Las situaciones en las que esto no volverá a morderte son raras; Sería mucho más seguro hacer cumplir la invariante en el código de activación en su lugar.
http://www.postgresql.org/docs/9.1/interactive/triggers.html
¿Puedo hacer sub consultas SQL en la restricción de verificación?
Tengo una tabla de post
con id, owner
columnas id, owner
Tengo otra action
tabla con columnas user_id, post_id
user
tabla con id
columnas
post_id -> post.id
y user_id -> user.id
también post.owner -> user.id
Ahora quiero restringir la post(post_id).id != user_id
en la action
tabla
Cómo es eso posible ?