ERROR ora-01779

ivjude
14 de Noviembre del 2005
Tengo dos tablas de X campos, de ellas creo una vista:
CREATE OR REPLACE VIEW SEG_USUARIOS_V
(ID_USUARIO, USERNAME, NOMBRE, APELLIDOS, PASSWORD,
EMAIL, DNI, UBICACION, TELEFONO, COLEGIADO,
FECHA_ALTA, FECHA_BAJA, DATA_ALTA_NOVELL, DESACTIVAT)
AS
SELECT ID_USUARIO,USERNAME,NOMBRE,APELLIDOS,PASSWORD,EMAIL,DNI,UBICACION,TELEFONO,COLEGIADO,FECHA_ALTA,FECHA_BAJA,DATA_ALTA_NOVELL,DESACTIVAT
FROM SEG_USUARIOS,QSMTOWN.USUARIS_GEN
WHERE SEG_USUARIOS.USERNAME = QSMTOWN.USUARIS_GEN.LOGIN

Todo me da correcto. El problema esta que al querer modificar unos datos a traves de la vista :
UPDATE QSMTOWN.SEG_USUARIOS_V SET FECHA_BAJA = TO_CHAR(SYSDATE ,\'DD/MM/YYYY\') WHERE USERNAME=\'XARCAS\';

me da un mensaje de error tal como:

ORA-01779: no se puede modificar una columna que se corresponde con una tabla no reservada por clave

Me podrian ayudar a solucionar esto?me tiene sin dormir

Muchas gracias


chemian
14 de Noviembre del 2005
la columna que quieres modificar tiene una Foreing Key??

IVAN
14 de Noviembre del 2005
no. la tabla seg_usuarios tiene la PrimaryKey(id_usuario) y una UniqueKey(username)
Luego la tabla usuaris_gen solo tiene una primaryKey(nemp) q no he exportado a la vista.

Despues de horas comiendome la cabeza he probado de insertar a la tabla usuaris_gen una uniqueKey para el campo Login...y se ha solucionado :-O
Aun no se la teoria de porque ha de ser asi pero funciona!
Gracias por el interes.

Saludos