Oswaldo escribió: > El 03/05/2013 16:40, Martín Marqués escribió: > >No. Con ese UPDATE, el valor debe ser NULL. > > Exacto el update inserta un null, pero la columna esta definida como > tipo 't_dom' el cual no debe admitir nulos. Si en vez de ese update > haces este: "update test2 set dom=NULL;" si arroja el error de la > que la columma dom no admite nulos lo cual es correcto.
El problema es el momento en el cual la verificación de la restricción NOT NULL tiene lugar. Cuando haces "set dom = NULL" el valor se ve forzado a pasar por la función de entrada del dominio, que se hace cargo de verificar la restricción. Pero cuando viene de un INSERT/SELECT desde otra columna (o un OUTER JOIN), no pasa por la función de entrada. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda