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

[SOLUCIONADO] cambiar trigger de sql server a postgresql

Estas en el tema de cambiar trigger de sql server a postgresql en el foro de PostgreSQL en Foros del Web. estimados amigos soy nuevo en postgresql y quiero cambiar este trigger de sql server a postgresql @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original CREATE TRIGGER [ ...
  #1 (permalink)  
Antiguo 17/07/2013, 11:10
Avatar de dfss  
Fecha de Ingreso: febrero-2013
Ubicación: cerca de aqui lejos de alla
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
cambiar trigger de sql server a postgresql

estimados amigos soy nuevo en postgresql y quiero cambiar este trigger de sql server a postgresql
Código SQL:
Ver original
  1. CREATE TRIGGER [dbo].[NOTAS]
  2. ON [dbo].[NOT_TBL]
  3. WITH EXECUTE AS CALLER
  4. FOR INSERT
  5.  
  6. AS
  7.  
  8.     BEGIN
  9.         DECLARE @NOTA1 VARCHAR (4)
  10.         DECLARE @NOTA2 CHAR (4)    
  11.         DECLARE @NOTA3 VARCHAR(4)
  12.         DECLARE @EX_FINAL VARCHAR (4)
  13.         DECLARE @NOTA_FINAL VARCHAR (4)
  14.        
  15.     SELECT @NOTA1=nota1, @NOTA2=nota2,@NOTA3=nota3, @EX_FINAL=examen FROM INSERTED
  16.    
  17.     SET @NOTA_FINAL =(((@NOTA1+@NOTA2+@NOTA3)/3)*0,8 +@EX_FINAL*0.2 )
  18.    
  19.         BEGIN
  20.        
  21.             INSERT INTO NOT_TBL(nota_final)
  22.             VALUES @NOTA_FINAL
  23.              
  24.         END
  25.     END

Saludos y gracias por cualquier ayuda

Última edición por dfss; 17/07/2013 a las 12:56 Razón: Entendimiento
  #2 (permalink)  
Antiguo 23/07/2013, 13:59
Avatar de dfss  
Fecha de Ingreso: febrero-2013
Ubicación: cerca de aqui lejos de alla
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: cambiar trigger de sql server a postgresql

Encontre la solucion les posteo el codigo espero les sirva
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION Prueba_notas()
  2. RETURNS TRIGGER AS $Prueba_notas$
  3. DECLARE
  4.    
  5.  
  6. BEGIN
  7.     IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE' ) THEN
  8.         UPDATE notas_tbl
  9.         SET not_nota_final_quimestre = (SELECT ((((NEW.not_primer_bloque + NEW.not_segundo_bloque + NEW.not_tercer_bloque)/3)* 0.8) + NEW.not_examen_final*0.2)   AS Promedio_final  
  10.         FROM notas_tbl WHERE not_pk = NEW.not_pk AND num_quimestre = NEW.num_quimestre)
  11.         WHERE not_pk = NEW.not_pk AND num_quimestre = NEW.num_quimestre;
  12.     END IF;
  13.     RETURN NEW;
  14. END;
  15. $Prueba_notas$ LANGUAGE plpgsql
  16.  
  17. CREATE TRIGGER insercion_notas AFTER INSERT ON notas_tbl
  18.     FOR EACH ROW EXECUTE PROCEDURE Prueba_notas();

Etiquetas: as, postgres, server, sql, trigger
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 19:01.