Hola a todos A ver no me deje entender bien creo
tengo una tabla que es tbl_persona en la cual tengo un campo fecha de nacimiento y cree una vista vw_persona en la cual con una funcion tengo mi campo edad ahora en la tabla tbl_paciente se relaciona con la vista vw_persona atravez del codigo osea vw_persona.cod=tbl_paciente.paciente_persona_cod LA RESTRICCION Bien ahora lo que deseo es si un paciente es menor de 14 años entonces ese campo paciente_apoderado NO DEBE DE SER NULO y tendria que llenarse y hacer una referencia a un codigo de la tabla persona ya si un paciente es mayor de 14 años entonces PUEDE SER NULO Gracias por responder P.D. Probare con un trigger creo que con un before on insert funcionaria(Si tienen otra idea bienvenida) El 20 de mayo de 2009 16:04, Alvaro Herrera <[email protected]>escribió: > Luis A. Zevallos Cárdenas escribió: > > Hola a todos > > > > Una consulta con un check o como lo puedo manejar > > > > tengo una tabla > > CREATE TABLE tbl_paciente > > ( > > paciente_persona_cod integer NOT NULL, -- Codigo de referencia hacia la > > tabla persona > > paciente_hstclinica_cod integer, -- Codigo que hace referencia a la > tabla > > de historia clinica > > paciente_apoderado integer, -- Codigo de referencia a la tabla persona > > para identificar al apoderado solo si es < de 14 años > > ) > > > > Este paciente_apoderado como dice no tiene que ser null si la edad del > > paciente es menor a 14 > > No tiene mucho sentido esto -- ¿cómo vas a hacer que se vuelva NULL > cuando el paciente cumpla 14 años? Creo que la mejor manera de manejar > esto es en un trigger que exija que el paciente tenga apoderado al > momento de insertar, no una restricción en la columna misma. > > (Detalle de implementación: no están permitidas las subconsultas en una > restricción CHECK. Obviamente puedes hacer trampa y ponerla en una > función) > > -- > Alvaro Herrera > http://www.amazon.com/gp/registry/5ZYLFMCVHXC > "La libertad es como el dinero; el que no la sabe emplear la pierde" > (Alvarez) > -- Luis Zevallos DBA Administrador de DB & SRVR Lobo Sistemas S.A.C tel: +5154958310833 http://www.lobosistemas.com
