Gilberto: 2017-04-05 16:46 GMT+02:00 Gilberto Castillo <gilberto.casti...@etecsa.cu>: >> 2017-04-05 16:22 GMT+02:00 Pedro PG <pedr...@outlook.com>: >>> Lo que deseo es agregar una restriccion CHECK que solo permita modificar >>> datos de la tupla si y solo si liquidado es NULL. >> >> Igual estoy un poco oxidado, pero las restricciones check lo que hacen >> es comprobar un juego de valores de la tupla, no miran si vienen de >> update o de lo que sea. >> >>> 1) Cuando se inserta un registro el campo liquidado siempre sera NULL >>> (esto >>> es correcto). >>> 2) Desde un procedimiento externo actualizare liquidado (esto tambien es >>> correcto). >>> 3) Si deseo actualizar el registro, solo debe permitirme si el campo >>> liquidado es NULL (aqui mi problema). >> >> Probablemente puedes hacer eso con un trigger. De todas formas, salvo >> que estes haciendo el control con roles y mucho cuidado, porque no >> pones un 'where liquidado=null' extra en los updates? Tambien podrias >> probar con un "create rule x on update to table where OLD.liquidado is >> not null instead do nothing' o algo asi, pero te puede dar problemas >> si quieres revertir una fila a liquidado=null. Al fin y al cabo, si >> alguien puede cambiar liquidado a null probablemente pueda hacer >> not-null->null->update->null. > > Yo Usaría UPSERT
Iluminanos, porfa. Hacer eso con upsert seria un truco fantastico. Francisco Olarte. - 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