Oracle - Constraints a vistas

   
Vista:

Constraints a vistas

Publicado por su (2 intervenciones) el 18/04/2008 16:43:05
Mi duda es si se puede crear una constraint desde una tabla a una vista.
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Constraints a vistas

Publicado por pedro (25 intervenciones) el 19/04/2008 14:29:53
Hola buenos dias
no hace mucho puse en una consulta la definicion de vista
"Una vista es una consulta, que refleja el contenido de una o más tablas, desde la que se puede acceder a los datos como si fuera una tabla."

Oracle no permite ni insertar ni modifcar datos de una vista, sino los de la tabla, por lo tanto los datos realmente estan en la en la tabla, si tu modificas la tabla la vista se modifica, realmente debes apuntar con la constraint a la tabla ya que hacerlo a la vista no tiene sentido

Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Constraints a vistas

Publicado por Su (2 intervenciones) el 20/04/2008 21:57:27
Muchas grcias, muy útil tu ayuda, pero entonces me surge otra duda al respecto, ¿se puede crar una contraint a dos tablas?, es decir quiero que si un número de expediente no está en una tabla que mire a ver si está en el otro. (con que exista en uno de las dos tablas me tiene que dejar insertar en la tercera)
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Constraints a vistas

Publicado por Pedro (25 intervenciones) el 21/04/2008 10:47:03
Hola buenos dias:
Pues que yo sepa no se puede, no se si hay alguna instruccion administrativa que te permita configurar la bbdd para que te permita hacer esto que tu preguntas, yo cuando tengo un caso de este tipo, es hacer yo mismo la comprobación y controlarlo por código, con un bloque exception y un raise al final del tipo

begin
select kk
into dummy
from tabla
exception
when no_data_found then
begin
select kk
into dummy
from tabla2
exception
when no_data_found then
raise_application_error(-20100,'El codigo a insertar es erroneo');
end;
end;

Siento no haberte podido ayudar mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Constraints a vistas

Publicado por Jorge (7 intervenciones) el 29/04/2008 20:08:21
A mi me paréce que ésto se puede resolver a travez de código con ún proceso, o con un trigger, pero no precisamente con constraint´s, podrías hacer un constraint de llave foranea a una tabla... pero que yo sepa no hay uno que sea hacia 2 tablas y que tenga una validación tipo un OR lógico.

Saludos.
Atte.
Jorge Guillén.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar