Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stored Procedures com PostgreSQL: Porque usar.

Stored Procedures com PostgreSQL: Porque usar.

Nesta apresentação é levantado uma discussão a respeito do uso de functions dentro do banco de dados utilizando o PostgreSQL, abordando de forma sucinta os pós e consequentemente os contras, ao se decidir usar essa prática.

Atmos Maciel

June 22, 2016
Tweet

More Decks by Atmos Maciel

Other Decks in Programming

Transcript

  1. Notação SQLServer create procedure “procedurename“ ( < parâmetro1 TIPO >,

    < parâmetro2 TIPO > ... ) AS BEGIN < declare @variavelRetorno; > < procedure_body > < RETORNO OPCIONAL(return @variavelRetorno) > END; GO execute[exec] procedurename (param1, param2);
  2. Functions PostgreSQL • Funções escritas em SQL; • Funções em

    linguagens de procedimento(PL/pgSQL, PL/php, PL/Java); • Funções internas( round(), count(), max(), avg() ); • Funções na Linguagem C;
  3. Notações Em PHP: CREATE FUNCTION plphp_max(integer, integer) RETURNS integer AS

    $$ if ($args[0] > $args[1]) { return $args[0]; } else { return $args[1]; } $$ STRICT LANGUAGE 'plphp' SELECT plphp_max(parameter0, parameter1); Suporte a arrays PHP: CREATE FUNCTION php_array() RETURNS text[ ][ ] AS $$ $return = array(array("Steven", "Klassen"), array("Jonathan", "Daugherty")); return $return; $$ LANGUAGE 'plphp'; SELECT php_array();
  4. Notação CREATE FUNCTION func_escopo() RETURNS integer AS $$ DECLARE quantidade

    integer := 30; BEGIN quantidade := 50; < body_function > DECLARE quantidade integer := 80; BEGIN < body_function > END; RETURN quantidade; END; $$ LANGUAGE plpgsql; SELECT func_escopo();
  5. Notação CREATE FUNCTION instr(varchar, integer) RETURNS integer AS $$ DECLARE

    v_string ALIAS FOR $1; index ALIAS FOR $2; BEGIN < body_function> END; $$ LANGUAGE plpgsql;