Firebird
Por Bill Todd, Borland Developers Conference San Diego 2000
Traduzido e adaptado com autorização do autor por: Alessandro Cunha Fernandes, Comunidade Firebird, Julho de 2002
Uma stored procedure é um programa escrito numa linguagem própria para procedures e triggers do Firebird que é armazenado como parte do banco de dados. Stored procedures podem ser chamadas por aplicações cliente ou por outras stored procedures ou triggers. Triggers são quase a mesma coisa que stored procedures exceto pelo modo como são chamadas. Triggers são chamadas automaticamente quando uma alteração em uma linha da tabela ocorre. Este artigo examina primeiro as stored procedures e logo depois as triggers. Como você poderá ver a maioria das coisas que serão ditas sobre stored procedures se aplicarão também às triggers.
Vantagens do uso de Stored Procedures
A maior vantagem do uso de stored procedures é a redução de tráfico na rede. Já que as stored procedures são executadas pelo Firebird na máquina servidora de banco de dados, você pode utiliza-las para mover grande parte do seu código de manipulação de dados para o servidor. Isto elimina a transferência de dados do servidor para o cliente, pela rede, para a manipulação e reduzir tráfico é aumentar performance, particularmente em uma WAN ou em qualquer conexão de baixa velocidade. Stored procedures aumentam a performance de outra forma também. Você pode utilizar querys para fazer muitas das coisas que podem ser feitas com stored procedures mas uma query tem uma grande desvantagem. Cada vez que a aplicação cliente envia um comando SQL para o servidor o comando tem que ser “parsed”, ou seja, analisado gramaticalmente, submetido ao optimizador para formulação de um plano de execução. Stored procedures são analisadas , optimizadas e armazenadas em uma forma executável no momento em que são adicionadas ao banco de dados. A partir do momento que uma stored procedure não tem que ser