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!!!