Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

create view & create rule

Estas en el tema de create view & create rule en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 05/03/2013, 07:05
 
Fecha de Ingreso: diciembre-2012
Mensajes: 21
Antigüedad: 12 años
Puntos: 0
create view & create rule

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!!!
  #2 (permalink)  
Antiguo 08/03/2013, 02:34
 
Fecha de Ingreso: diciembre-2012
Mensajes: 21
Antigüedad: 12 años
Puntos: 0
Respuesta: create view & create rule

No hay manera, voy haciendo cambios como poner un WHERE antes del DO INSTEAD para indicar que los 2 campos son iguales, pero ni asi... me estoy volviendo loca!!!

Etiquetas: as, create, postgres, tabla, view
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:41.