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

consulta sobre funcion plpgsql

Estas en el tema de consulta sobre funcion plpgsql en el foro de PostgreSQL en Foros del Web. Buenas de nuevo por aca tengo la siguiente funcion que se ejecuta con un trigger para hacer la auditoria @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PGSQL: Ver original ...
  #1 (permalink)  
Antiguo 11/10/2010, 20:37
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
consulta sobre funcion plpgsql

Buenas de nuevo por aca tengo la siguiente funcion que se ejecuta con un trigger para hacer la auditoria
Código PGSQL:
Ver original
  1. CREATE OR REPLACE FUNCTION process_cue_audit() RETURNS TRIGGER AS $$
  2. BEGIN
  3. IF (TG_OP = 'DELETE') THEN
  4. INSERT INTO AUDITORIA SELECT 'D', now(), user, OLD.*;
  5. RETURN OLD;
  6. ELSIF (TG_OP = 'UPDATE') THEN
  7. INSERT INTO AUDITORIA SELECT 'U', now(), user, NEW.*;
  8. RETURN NEW;
  9. ELSIF (TG_OP = 'INSERT') THEN
  10. INSERT INTO AUDITORIA SELECT 'I', now(), user, NEW.*;
  11. RETURN NEW;
  12. END IF;
  13. END;
  14. $$ LANGUAGE plpgsql;
esta funciona de manera correcta me la enseño un compañero mi duda es si en el if de estas funciones no se puede usar un or o algo parecido, para que se preguntara cualkiera, si se fijan el insert y el update realizan la misma accion practicamente en este caso lo que cambia es un valor de campo pero suponiendo que no fuera asi seria menos codigo aplicando dentro del ELSIF (TG_OP = 'UPDATE') THEN un or se puede esto o es una locura que solo se me ocurre a mi?? gracias por cualkier respuesta estare investigando cualkier cosa les comento saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #2 (permalink)  
Antiguo 11/10/2010, 21:18
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: consulta sobre funcion plpgsql

Estructuralmente se puede trabajar con OR y AND en una condicional, algo así:


Código PLPGSQL:
Ver original
  1. CREATE OR REPLACE FUNCTION process_cue_audit() RETURNS TRIGGER AS $$
  2. BEGIN
  3. IF (TG_OP = 'DELETE') THEN
  4. INSERT INTO AUDITORIA SELECT 'D', now(), user, OLD.*;
  5. RETURN OLD;
  6. ELSIF (TG_OP = 'UPDATE' OR TG_OP = 'INSERT') THEN
  7. INSERT INTO AUDITORIA SELECT 'U', now(), user, NEW.*;
  8. RETURN NEW;
  9. END IF;
  10. END;
  11. $$ LANGUAGE plpgsql;
  #3 (permalink)  
Antiguo 11/10/2010, 21:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: consulta sobre funcion plpgsql

mm entonces si se puede?? no lo he probado xq no he podido instalar el postgres en esta makina pero m avian dicho que no, con que base no lo se cuando pueda probarlo te comento gracias por sacarme de la duda
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 11/10/2010, 22:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: consulta sobre funcion plpgsql

Cita:
mm entonces si se puede??
claro que si carlos.
Es exactamente como dice chicohot20

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/10/2010, 08:05
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: consulta sobre funcion plpgsql

perfecto dos personas que me lo indican, voy a a mi amigo que me dijo que no, pero no me dio la base y me hizo hacer una pregunta que vamos era cuestion de hacer una prueba gracias por la aclaratoria a ambos saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: funcion
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 22:18.