Como criar procedimentos armazenados em SQL?



Este artigo sobre procedimentos em SQL o ajudará a entender o que são procedimentos e como aumentam o desempenho de um banco de dados quando implementados.

Procedimentos são os subprogramas que podem ser criados e salvos no como objetos de banco de dados. Assim como você pode em outras línguas, você pode criar e soltar procedimentos em SQL também. Neste artigo, vamos explorar procedimentos em SQL com sintaxe e exemplos.

Os tópicos discutidos no artigo são:





O que é um procedimento em SQL?

Um procedimento em (muitas vezes referido como procedimento armazenado),é uma unidade reutilizável que encapsula a lógica de negócios específica do aplicativo. Um procedimento SQL é um grupo de instruções e lógicas SQL, compiladas e armazenadas juntas para realizar uma tarefa específica.

Procedimento SQL - Procedimentos em SQL - Edureka



Listados abaixo estão os principais recursos dos procedimentos SQL:

  • Fácil de implementar porque usa um método muito simpleslinguagem de alto nível, fortemente tipada
  • Suporta três tipos de parâmetros, a saber,parâmetros de entrada, saída e entrada-saída.
  • Mais confiável do que equivalenteprocedimentos externos.
  • Os procedimentos SQL promovem a capacidade de reutilização e manutenção.
  • Suporta uma condição simples, mas poderosa, e um modelo de tratamento de erros.
  • Retorne um valor de status para um procedimento de chamada ou lote para indicar sucesso ou falha e o motivo da falha.

Agora que você sabe o que são procedimentos e por que são necessários, vamos discutir a sintaxe e o exemplo de procedimento em SQL.

Sintaxe de procedimentos em SQL

O seguinte ilustra a sintaxe básica de criação de um procedimento em SQL:



CRIAR [OU SUBSTITUIR] PROCEDIMENTO nome_do_procedimento [(nome_do_parâmetro [ENTRADA | SAÍDA | ENTRADA SAÍDA] tipo [])] IS BEGIN [seção_declaração] seção_executável // Instrução SQL usada no procedimento armazenado END GO

Terminologias de sintaxe

Parâmetro

ler e escrever arquivo excel em java

Um parâmetro é uma variável que contém um valor de qualquertipo de dados SQL válido através do qual o subprograma pode trocar os valores com o código principal. Em outras palavras, pparâmetros são usados ​​para passar valores para o procedimento. Existem 3 tipos diferentes de parâmetros, que são os seguintes:

  • DENTRO : TEste é o parâmetro padrão, que sempre recebe os valores do programa de chamada. É uma variável somente leitura dentro dos subprogramas e seu valor não pode ser alterado dentro do subprograma.
  • FORA: Isto éusado para obter a saída dos subprogramas.
  • IN OUT: esteO parâmetro é usado tanto para fornecer dados quanto para obter resultados dos subprogramas.

Outras Terminologias

  • nome do procedimento especifica o nome do procedimento. Deve ser único.
  • A opção [OU REPLACE] permite a modificação de um procedimento existente.
  • IS | Cláusula AS, eles definem ocontexto para executar o procedimento armazenado.A diferença é que a palavra-chave ‘IS’ é usada quando o procedimento está aninhado em alguns outros blocos e se o procedimento for autônomo, então ‘AS’ é usado.
  • Code_Block declara as instruções procedurais que tratam de todo o processamento dentro do procedimento armazenado. O conteúdo do code_block depende das regras e da linguagem procedural usada pelo base de dados .

Procedimento em SQL: Exemplos

Exemplo 1

O exemplo a seguir cria um procedimento simples que exibe a mensagem de boas-vindas na tela quando executado. Então, o procedimento será:

CRIAR OU SUBSTITUIR O PROCEDIMENTO welcome_msg (para1_name IN VARCHAR2) ESTÁ BEGIN dbms_output.put_line (‘Hello World! '|| para1_name) END /

Execute o procedimento armazenado. Um procedimento autônomo pode ser chamado de duas maneiras e menos

  • Usando o EXECUTAR palavra-chave
  • Chamando o nome do procedimento de um bloco SQL

O procedimento acima pode ser chamado usando a palavra-chave Execute da seguinte forma:

EXEC welcome_msg (‘Bem-vindo à Edureka!’)

Resultado

Olá Mundo! Bem vindo a edureka

O procedimento é executado e a mensagem é impressa como “Hello World! Bem-vindo a Edureka ”.

Exemplo 2

Suponhamos que você tenha uma tabela com detalhes de Emplyoee, como EmployeId, Firstname, Lastname e DepartmentDetails.

Este exemplo cria um procedimento SQL que retornará o nome de um funcionário quando o EmployeId é fornecido como o parâmetro de entrada para o procedimento armazenado. Então, o procedimento será:

Criar PROCEDURE GetStudentName (@employeeID INT, - parâmetro de entrada, EmployeID do funcionário @employeName VARCHAR (50) OUT - Parâmetro de saída, EmployeeName do funcionário AS BEGIN SELECT @ EmployeName = Firstname + '' + Lastname FROM Employee_Table WHERE EmployeId = @ EmployeID FIM

Passos para executar:

se condição na consulta sql
  • Declare @employeName como nvarchar (50)
  • EXEC GetStudentName 01, saída @employeName
  • selecione @employeName

O procedimento acima, ao fornecer a identificação do funcionário como entrada, retorna o nome desse funcionário específico. Suponha que se temos um parâmetro de saída tEntão, primeiro precisamos declarar a variável para coletar os valores de saída.Agora vamos verificar as vantagens do procedimento em SQL.

Vantagens dos procedimentos em SQL

O principal objetivo dos procedimentos armazenados em SQL é ocultar diretamente Consultas SQL do código e melhorar o desempenho das operações do banco de dados, como selecionar, atualizar e excluir dados. Outras vantagens do procedimento em SQL são:

  • Reduz a quantidade de informações enviadas ao servidor de banco de dados. Pode se tornar um benefício mais importante quando a largura de banda da rede é menor.
  • Permite a reutilização do código
  • Aumenta a segurança, pois você pode conceder permissão ao usuário para executar o procedimento armazenado em vez de conceder permissão nas tabelas usadas no procedimento armazenado.
  • Suporta chamadas de procedimento aninhado para outros procedimentos SQL ou procedimentos implementados em outras linguagens.

Para concluir, procedimentos em SQL (procedimentos armazenados)não apenas aumenta a possibilidade de reutilizar o código, mas também aumenta o desempenho do banco de dados. Como? Reduzindo o tráfego da rede, reduzindo a quantidade de informações enviadas pela rede. Com isso, chegamos ao final deste artigo.

Se você deseja aprender mais sobre MySQL e conheça este banco de dados relacional de código aberto e, em seguida, verifique nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Este treinamento o ajudará a entender o MySQL em profundidade e a obter domínio sobre o assunto.

Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo ‘Procedimentos em SQL e entraremos em contato com você.