PostgreSQL - Vista y regla de insercion

   
Vista:

Vista y regla de insercion

Publicado por Irene (1 intervención) el 04/03/2013 20:30:31
Buenas tardes, soy muy novata en estos temas, intentare explicarme a ver si puedo...
Tengo una base de datos donde quiero hacer una vista de dos tablas del esquema AA que son:

empleados (codigoEmpleado, nombreEmpleado, edadEmpleado, departamento)
departamentos (codigoDepartamento, nombreDepartamento)

departamento y codigoDepartamento es lo mismo.

Quiero hacer una vista en el esquema AA con los datos (codigoEmpleado, nombreEmpleado, edadEmpleado, departamento y nombreDepartamento)

Entonces yo la hago así:

CREATE VIEW AA.vista AS
SELECT empleados."codigoEmpleado", empleados."nombreEmpleado",
empleados."edadEmpleado", empleados.departamento,
departamentos."nombreDepartamento"
FROM AA.empleados, AA.departamentos
WHERE empleados.departamento= empleados."codigoDepartamento";

Y luego quiero hacer una regla de insercion, para insertar empleados a partir de la vista y a la vez que inserte sobre departamentos, entonces pongo:

CREATE RULE ins_vista_n AS
ON INSERT TO AA.vista
DO INSTEAD

INSERT INTO AA.empleados (empleados."codigoEmpleado", empleados."nombreEmpleado", empleados."edadEmpleado", empleados.departamento
VALUES (NEW."codigoEmpleado", NEW."nombreEmpleado", NEW."edadEmpleado", NEW.departamento);

INSERT INTO AA.departamentos (departamentos."NombreDepartamento")
VALUES(NEW."nombreDepartamento");

Y al hacer esto postgreSQL me dice:

ERROR: falta una entrada para la tabla «new» en la cláusula FROM
LINE 2: VALUES (NEW."nombreDepartamento")

Y no se si tengo el error en la vista, o en la regla, a ver si me podeis ayudar.

GRACIAS Y LO SIENTO POR EL ROLLAZO!!!
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