![]() |
Update De Una Vista Firebird
HOLA QUIERO REALIZAR UN UPDATE A UNA VISTA PERO ME MARCA QUE ES SOLO DE LECTURA
cannot update read-only view ENTRESIS_CC_VE. YA LE E OTORGADO PERMISOS PERO NO TENGO IDEA DE CUAL SEA MI ERROR SI ME PUDIERAN ORIENTAR LES ESTARÍA MUY AGRADECIDO
|
KOVNEO el error apunta a que el conjunto de datos devuelto por dicha vista no es actualizable. Así como con algunos Querys con consultas simples a los que se les puede realizar un insert o update, hay vistas que se les permita hacer insert o update.
Esta no es el caso ya que interviene un join y el conjunto de restricciones por el lado del where a cumplir la hacen muy compleja de soportar un UPDATE. No tiene nada que ver con los permisos. Saludos, |
Cita:
|
Vista Actualizable
Hola Cuando la vista no es actualizable se debe crear un trigger a la vista, y en el trigger efectuar los correspondientes update / insert a la tabla fisica
ejemplo disculpa a todos se me olvido colocar el de sql -- ************************************** CREATE VIEW LISTADEPRECIOSDET_V0( LISTAPRECIO, RECURSO, DRECURSO, UNDMED, RANGOINFERIOR, RANGOSUPERIOR, CURCOD, PRECIOVENTAUNITARIO, PRECIOVENTAMINIMO, FLGPRECIOVENTACERO, VALORTOTALMINIMO, FLGREQCONTENEDOR, TAXCOD, VRTAX, FLGIVAINCLUIDO, FLGREQREPORTPRECIOVENTAUNITARIO, ACTIVO) AS SELECT D.LISTAPRECIO, D.RECURSO, R.DRECURSO,R.UNDMED, RANGOINFERIOR, RANGOSUPERIOR, D.CURCOD, D.PRECIOVENTAUNITARIO, D.PRECIOVENTAMINIMO, D.FLGPRECIOVENTACERO,D.VALORTOTALMINIMO , D.FLGREQCONTENEDOR , D.TAXCOD ,D.VRTAX,D.FLGIVAINCLUIDO, D.FLGREQREPORTPRECIOVENTAUNITARIO, D.ACTIVO FROM LISTADEPRECIOSDET D INNER JOIN RESMST R ON R.RECURSO = D.RECURSO ; -- ****************************************** SET SQL DIALECT 3; SET TERM ^ ; CREATE OR ALTER TRIGGER LISTADEPRECIOSDET_V0_BI0 FOR LISTADEPRECIOSDET_V0 ACTIVE BEFORE INSERT POSITION 0 AS BEGIN POST_EVENT 'DUMMY_EVENT'; END ^ CREATE OR ALTER TRIGGER LISTADEPRECIOSDET_V0_BI0 FOR LISTADEPRECIOSDET_V0 ACTIVE BEFORE INSERT POSITION 0 AS begin IF(INSERTING) THEN BEGIN INSERT INTO LISTADEPRECIOSDET (LISTAPRECIO, RECURSO, CURCOD,RANGOINFERIOR,RANGOSUPERIOR,PRECIOVENTAMINIMO,PRECIOVENTAUNITARIO, FLGPRECIOVENTACERO, VALORTOTALMINIMO,FLGREQCONTENEDOR,TAXCOD,VRTAX,FLGIVAINCLUIDO,FLGREQREPORTPRECIOVENTAUNITARIO) VALUES(NEW.LISTAPRECIO, NEW.RECURSO,NEW.CURCOD,NEW.RANGOINFERIOR,NEW.RANGOSUPERIOR,NEW.PRECIOVENTAMINIMO,NEW.PRECIOVENTAUNIT ARIO, NEW.FLGPRECIOVENTACERO, NEW.VALORTOTALMINIMO,NEW.FLGREQCONTENEDOR, NEW.TAXCOD, NEW.VRTAX, NEW.FLGIVAINCLUIDO, NEW.FLGREQREPORTPRECIOVENTAUNITARIO); END end ^ SET TERM ; ^ |
La franja horaria es GMT +2. Ahora son las 10:18:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi