Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Basededatos

476 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Basededatos

  1. 1. Funciones y Triggers Postgres Fredy Hernan Sanchez Montaña
  2. 2. Funciones <ul><li>Ventajas: </li><ul><li>Minimiza tiempo en la conexion entre el cliente y el servidor
  3. 3. Balanceo de carga por parte del cliente </li></ul></ul>
  4. 4. PL/pgSQL <ul><li>Es un lenguaje procedural, y el mas usado en el motor de base de datos postgres, tiene una gran semejansa a PL/SQL de oracle </li></ul>
  5. 5. Estructura Basica <ul><li>[<<label>>]
  6. 6. [ DECLARE declaraciones ]
  7. 7. BEGIN </li><ul><li>sentencias
  8. 8. RETURN datoderetorno; </li></ul><li>END;
  9. 9. 'LANGUAGE' 'plpgsql'; </li></ul>
  10. 10. Variables Y Constantes <ul><li>Todas las variables, filas y registros usados en un bloque o en alguno de sus sub-bloques debe declararse en la seccion de declaraciones del bloque.
  11. 11. Ejemplos: </li><ul><li>IdUser INTEGER;
  12. 12. Cantidad NUMBER(5);
  13. 13. Url VARCHAR;
  14. 14. user_Id CONSTANT INTEGER :=10; </li></ul></ul>
  15. 15. Variables pasadas a las funciones Las variables pasadas a las funciones son denominadas por los identificadores $1,$2...$16 como maximo,
  16. 16. Crear Funciones <ul>CREATE FUNCTION iva_venta(REAL) RETURNS REAL AS ' <ul>DECLARE <ul>subtotal ALIAS FOR $1; </ul>BEGIN <ul>return subtotal * 1.15; </ul>END; </ul>' LANGUAGE 'plpgsql'; </ul>
  17. 17. %TYPE and %ROWTYPE <ul><li>user_id users.user_Id%TYPE;
  18. 18. user_rec users.%ROWTYPE; </li></ul>
  19. 19. Estructuras De Control De Flujo <ul><li>Condiciones
  20. 20. IF expression THEN
  21. 21. statements
  22. 22. [ELSE
  23. 23. statements]
  24. 24. END IF; </li></ul><ul>WHILE [<<label>>] WHILE expression LOOP statements END LOOP; </ul>
  25. 25. Estructuras De Control De Flujo <ul>[<<label>>] FOR name IN[ REVERSE ] express .. expression LOOP <li>statements
  26. 26. END LOOP; </li></ul><ul>[<<label>>] <li>FOR record | row IN select_clause LOOP
  27. 27. statements
  28. 28. END LOOP; </li></ul><ul>[<<label>>] FOR name IN[ REVERSE ] express .. expression LOOP <li>statements
  29. 29. END LOOP; </li></ul>
  30. 30. TRIGGERS Es una funcion que se realiza segun una condicion establecida al realizar una operacion en una base de datos
  31. 31. Estructura de un Triggers <ul>CREATE TRIGGER ‹trigger name> <BEFORE|AFTER› ‹INSERT|DELETE|UPDATE› ON ‹relation name> FOR EACH <ROW|STATEMENT› EXECUTE PROCEDURE <procedure name> (<function args>); </ul>

×