Ver Mensaje Individual
  #4  
Antiguo 15-03-2016
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Reputación: 21
ASAPLTDA Va por buen camino
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 ; ^
Responder Con Cita