Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 15 - Linguagem SQL – Stored Procedures

Stored procedures

No dia a dia do trabalho com sistemas de banco de dados, surgem problemas relacionados à necessidade de se realizar operações complexas que envolvem a realização de um ou mais comandos de consulta a tabelas em conjunto com comandos de inclusão e/ou alteração de dados. Em outros casos, deseja-se realizar operações com base em parâmetros definidos pelo usuário.

Nessas situações, o ideal é que essas operações não sejam definidas na aplicação que vai fazer uso do banco de dados, mas no próprio servidor do banco de dados. Isso garante a segurança do banco de dados, uma vez que o mesmo pode controlar o acesso a essas operações especiais, evitando o conhecimento excessivo de sua estrutura pelos desenvolvedores de aplicações. Desse modo, as Stored procedures, traduzidas do inglês como procedimentos armazenados, são definidas como um conjunto de comandos da linguagem SQL definidos no servidor do banco de dados e acionados por eventuais chamadas de qualquer usuário que tenha autorização para sua execução.

Além da questão de segurança do banco de dados, já que o usuário só poderá executar os procedimentos a que tiver acesso, os procedimentos armazenados ajudam a diminuir o tráfego de informações entre o usuário e o servidor, tornando mais simples o processamento das informações. Por exemplo, suponha que diversos usuários desejem fazer a consulta especificada no destaque a seguir. Essa consulta retorna uma lista de produtos vendidos e se refere ao banco de dados sistvendas apresentado na Aula 13.

A execução desse conjunto de comandos por diversos usuários simultaneamente vai gerar um grande tráfego de informações pela rede, o que não ocorre se esse conjunto de comandos for definido usando um procedimento armazenado no próprio servidor do banco de dados e o usuário solicite apenas sua execução e o retorno do resultado, usando a sintaxe descrita no quadro a seguir. Desse modo, o usuário solicita ao servidor que execute a operação e lhe devolva o resultado, não se preocupando com a estrutura do banco de dados.

É possível também na criação dos procedimentos utilizar comandos comuns às linguagens de programação (que você já viu em disciplinas anteriores), como IF, WHILE, RETURN etc. Outra observação que deve ser feita é que visões não podem ser criadas em procedimentos armazenados.

Versão 5.3 - Todos os Direitos reservados