FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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
|
#2
|
||||
|
||||
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, |
#3
|
||||
|
||||
Mira el punto 6 de nuestra guía de estilo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
|||
|
|||
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 ; ^ |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error al ejecutar la sentencia update en firebird | Maribel09 | Firebird e Interbase | 5 | 28-08-2015 18:40:05 |
Firebird 2.5 Update | Abel Garcia | Firebird e Interbase | 13 | 10-05-2011 13:05:06 |
Crear vista en Firebird | Caral | Firebird e Interbase | 7 | 08-01-2008 21:20:25 |
Firebird y Vista | KAYO | Firebird e Interbase | 1 | 19-07-2007 17:01:11 |
Firebird 1.5.4 funciona en Win Vista pero Firebird 2.0.1 NO !!! | Hagen | Firebird e Interbase | 5 | 19-05-2007 22:17:54 |
|