stored procedures com postgresql: porque usar
TRANSCRIPT
![Page 1: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/1.jpg)
![Page 2: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/2.jpg)
Atmos Maciel
● Ciência da Computação;● Delphi / SQLServer;● Programação Web;● Mundo Ágil;
![Page 3: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/3.jpg)
O que é uma Stored Procedure?
![Page 4: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/4.jpg)
Notação SQLServercreate procedure “procedurename“(
< parâmetro1 TIPO >, < parâmetro2 TIPO > ...)ASBEGIN
< declare @variavelRetorno; >< procedure_body >< RETORNO OPCIONAL(return @variavelRetorno) >
END;
GOexecute[exec] procedurename (param1, param2);
![Page 5: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/5.jpg)
FUNCTIONS
![Page 6: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/6.jpg)
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;
![Page 7: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/7.jpg)
NotaçõesEm 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();
![Page 8: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/8.jpg)
NotaçãoCREATE 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();
![Page 9: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/9.jpg)
NotaçãoCREATE FUNCTION instr(varchar, integer) RETURNS integer AS $$DECLARE
v_string ALIAS FOR $1;index ALIAS FOR $2;
BEGIN< body_function>
END;
$$ LANGUAGE plpgsql;
![Page 10: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/10.jpg)
Ambiente: Banco de Dados bem feito
![Page 11: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/11.jpg)
Pesquisa
![Page 12: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/12.jpg)
Treta que ainda existe….
![Page 13: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/13.jpg)
Quando é interessante usar Functions no BD?
![Page 14: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/14.jpg)
Linguagens diferentes
![Page 15: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/15.jpg)
Reduz o código da aplicação
![Page 16: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/16.jpg)
Reduz o código da aplicação
![Page 17: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/17.jpg)
Ganho em processamento
![Page 18: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/18.jpg)
Segurança
![Page 19: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/19.jpg)
Performance?
![Page 20: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/20.jpg)
O lado negro da Força...
![Page 21: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/21.jpg)
Escalabilidade da Equipe
![Page 22: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/22.jpg)
Dependência do SGBD
![Page 23: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/23.jpg)
Sem suporte a OOP
![Page 24: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/24.jpg)
Testes automatizados
![Page 25: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/25.jpg)
Testes automatizados
![Page 26: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/26.jpg)
O que se faz hoje?
![Page 27: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/27.jpg)
Banco de Dados Aplicação
![Page 28: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/28.jpg)
Equilibrar no Banco de Dados
![Page 29: Stored Procedures com PostgreSQL: porque usar](https://reader033.vdocuments.mx/reader033/viewer/2022052419/588533001a28ab26518b53db/html5/thumbnails/29.jpg)
Fim...