Um guia completo sobre procedimentos e funções em PL SQL

Publicados: 2023-01-30
Um guia completo sobre procedimentos e funções em PL SQL

As linguagens de programação são um sistema para escrever programas de computador. Embora muitas linguagens de programação sejam baseadas em texto, outras também podem ser gráficas. Essas linguagens ajudam os programadores a se comunicarem com o computador. A linguagem de consulta estruturada (SQL) é uma dessas linguagens de programação que ajuda a armazenar, manipular e recuperar dados armazenados em um banco de dados relacional. No guia de hoje, compartilharemos detalhes sobre a execução dos blocos de nome (procedimentos e funções) que são subprogramas para PL SQL. Portanto, se você está procurando um guia completo sobre procedimentos e funções em PL SQL, você chegou à página certa. Neste documento, além de abordar o tópico de procedimento armazenado PL SQL, você também aprenderá sobre o exemplo de procedimento PL SQL. Sem mencionar o procedimento de chamada PL SQL, o procedimento de saída PL SQL e o exemplo de função PL SQL que são igualmente importantes para aprender se você for um programador iniciante. Então, vamos começar com nosso guia completo sobre PL SQL.

Um guia completo sobre procedimentos e funções em PL SQL

Conteúdo

  • Um guia completo sobre procedimentos e funções em PL SQL
  • O que é PL SQL?
  • O que é procedimento e função em PL SQL?
  • Como criar um procedimento armazenado e função em PL SQL?
  • Vantagens do Stored Procedure e Function em PL SQL
  • Sintaxe para criar procedimento armazenado
  • Exemplo de procedimento PL SQL
  • Sintaxe para criar função em PL SQL
  • Exemplo de função PL SQL
  • O que é procedimento de saída PL SQL?
  • Diferença entre procedimento armazenado e de função

Um guia completo sobre procedimentos e funções em PL SQL

Aqui, mostramos procedimentos e funções PL SQL com exemplos em detalhes.

O que é PL SQL?

  • PL SQL é uma forma abreviada de Extensões de Linguagem Processual para SQL .
  • PL SQL é uma linguagem estruturada em blocos para programadores que os ajuda a combinar o poder do SQL com instruções procedurais.
  • É a extensão processual da Oracle Corporation .
  • Essa linguagem procedural está disponível no banco de dados Oracle , banco de dados em memória Times Ten e IBM Db2 .
  • Em tempo de execução, PL/SQL e SQL oferecem eficiência ideal ao serem executados no mesmo processo de servidor .
  • O PL SQL garante um processamento eficaz e sem interrupções de instruções SQL, aprimorando a portabilidade , a segurança e a robustez do banco de dados.
  • PL SQL significa simplesmente instruir o compilador sobre o que fazer através do SQL e como fazê -lo através de sua forma procedural .
  • PL SQL dá mais controle aos programadores com o uso de loops , condições e conceitos orientados a objetos .

O que é procedimento e função em PL SQL?

  • O PL SQL possui dois subprogramas, conhecidos como procedimentos e funções .
  • Normalmente, um procedimento é usado para executar uma ação e uma função para calcular um valor .
  • Os subprogramas em PL SQL têm uma parte declarativa , uma parte executável e uma parte opcional de tratamento de exceções .
  • Esses subprogramas podem ser criados e salvos no banco de dados como objetos de banco de dados.
  • Subprogramas de procedimento e função em PL SQL retornam um único valor que é usado principalmente para computar e retornar um valor .
  • Esses subprogramas são simplesmente uma coleção de instruções PL/SQL e SQL que podem executar uma tarefa específica .

Como criar um procedimento armazenado e função em PL SQL?

Quando um bloco de código para um procedimento ou função armazenado PL SQL é gravado, eles são compilados pelo mecanismo Oracle. Depois de compilado, ele é armazenado como um objeto de banco de dados. O procedimento armazenado ou bloco de função de código é composto de três partes:

  • Parte declarativa : Nesta parte são declaradas as variáveis, constantes, cursores ou exceções que serão utilizadas pelo procedimento ou função.
  • Parte Executável : Nesta parte, escreve-se a definição do procedimento ou função que se cria. Esta parte também consiste em instruções PL/SQL ou SQL atribuindo valores, manipulando dados e controlando a execução.
  • Parte de Tratamento de Exceções : Esta última parte é opcional e nela são escritas as exceções esperadas que podem surgir durante a execução do código escrito na parte executável.

Vantagens do Stored Procedure e Function em PL SQL

Antes de descobrirmos o exemplo de procedimento PL SQL, você deve primeiro estar familiarizado com as vantagens dos subprogramas de procedimento e função.

  • Melhore o desempenho do banco de dados: o mecanismo Oracle ajuda na compilação automática. Além disso, sempre que um procedimento ou função de chamada PL SQL é feito, o mecanismo Oracle carrega o código compilado no SGA, System Global Area, o que ajuda na execução mais rápida.
  • Reutilização e sem redundância : O número de linhas de código não pode ser escrito repetidamente porque o mesmo bloco de código para um procedimento ou função pode ser chamado várias vezes em vários dados.
  • Segurança : A segurança do banco de dados também é mantida com o uso de procedimentos ou funções armazenadas, pois ajuda a controlar o uso e seu acesso, concedendo permissão aos usuários. Embora, a permissão para editar ou manipular o banco de dados não seja concedida aos usuários.
  • Integridade : Outra vantagem do uso de procedimento ou função armazenada PL SQL é que ela garante a integridade, pois são armazenados como objetos de banco de dados pelo mecanismo Oracle.
  • Salvar memória: um dos muitos benefícios dos procedimentos ou funções armazenados é que eles compartilham memória, o que ajuda a economizar memória como uma única cópia de um procedimento ou função que pode ser carregada por vários usuários com permissão para fazer o mesmo.

Leia também: Como corrigir o erro javascript:void(0)

Sintaxe para criar procedimento armazenado

Você pode ver a sintaxe abaixo que é usada para criar um procedimento armazenado no Oracle:

 CRIAR OU SUBSTITUIR PROCEDIMENTO <procedure_name>
(<variable_name>IN/OUT/IN OUT <tipo de dados>,
<variable_name>IN/OUT/IN OUT <datatype>,...) IS/AS
declaração de variável/constante;
COMEÇAR
-- Corpo do subprograma PL/SQL;
EXCEÇÃO
-- Bloco de Tratamento de Exceções ;
END <procedimento_nome>; 

sintaxe para criar um procedimento armazenado no oracle

No código acima:

  • Procedure_name representa o nome do procedimento.
  • Variable_name representa o nome da variável usada no procedimento armazenado.
  • O procedimento Create ou Replace representa uma palavra-chave usada para especificar o nome do procedimento a ser criado.
  • Begin , Exception e End representam palavras-chave usadas para indicar que diferentes seções do procedimento são criadas.
  • IN/OUT/IN OUT representa os modos de parâmetro em que IN se refere ao modo READ ONLY que é usado para uma variável através da qual aceitará o valor do usuário. Este é o modo de parâmetro padrão.
  • OUT refere-se ao modo WRITE ONLY que é usado para uma variável que retorna o valor para o usuário.
  • IN OUT refere-se ao modo READ e WRITE que é usado para uma variável que aceitará um valor ou retornará um valor para o usuário.
  • <procedure_name> representa o fim da definição do procedimento. Você também pode simplesmente usar END em seu lugar.

Exemplo de procedimento PL SQL

Para o código do procedimento abaixo, aqui está um exemplo simples que demonstrará claramente o uso do procedimento armazenado para adicionar dois números:

 definir serveroutput on;
CREATE OR REPACE PROCEDURE Soma (onde a IN número, b IN número) É c número;
COMEÇAR
c := a+b;
dbms_output.put_line ('Soma de dois nos= '|| c);
END Soma;

No caso de chamar o procedimento, o seguinte código será executado:

 definir serveroutput on;
DECLARAR
x número;
y número;
COMEÇAR
x := &x;
y := &y;
soma(x,y);
FIM;
Onde:
Digite o valor para x: 10
Digite o valor para y: 20
Soma de dois números: 30

Procedimento PL SQL criado com sucesso.

Sintaxe para criar função em PL SQL

Agora que você já sabe como criar sintaxe para stored procedures e seu exemplo, é hora de esclarecer um pouco sobre como criar funções em PL/SQL:

 CRIAR OU SUBSTITUIR FUNÇÃO <nome_da_função>
(<variable_name> IN <datatype>,
<variable_name> IN <datatype>,...)
RETORNAR <tipo de dado> IS/AS
declaração de variável/constante;
COMEÇAR
-- Corpo do subprograma PL/SQL;
EXCEÇÃO
-- Bloco de Tratamento de Exceções ;
END <nome_da_função>; 

sintaxe para criar funções

No código acima:

  • Function_name representa o nome da função.
  • Variable_name representa o nome da variável para a variável usada na função.
  • A função Criar ou Substituir representa uma palavra-chave usada para o nome da função a ser criada.
  • IN representa o modo READ ONLY que é usado para uma variável pela qual aceitará o valor do usuário. Este é o parâmetro padrão.
  • Return representa uma palavra-chave que é seguida por um tipo de dados que especifica o tipo de dados de um valor que a função retornará.

Leia também: Falha no comando de correção com código de erro 1 Python Egg Info

Exemplo de função PL SQL

Segue abaixo um exemplo da função PL SQL que demonstra o uso da função para somar dois números:

 definir serveroutput on;
CREATE OR REPLACE FUNCTION Sum(a IN number, b IN number) RETURN Number IS
c número;
COMEÇAR
c := a+b;
RETORNO c;
FIM; 

função para adicionar dois números sintaxe

No caso de chamar a função sum, o seguinte código será executado:

 definir serveroutput on;
DECLARAR
número no1;
número no2;
número do resultado;
COMEÇAR
no1 := &no1;
no2 := &no2;
resultado := Soma(no1,no2);
dbms_output.put_line('Soma de dois nos='||resultado);
FIM;
Onde:
Digite o valor para no1: 5
Digite o valor para no2: 5
Soma de dois ns: 10

Procedimento PL SQL criado com sucesso.

sintaxe para chamar a função sum

Leia a próxima seção para saber sobre o procedimento de saída PL SQL.

O que é procedimento de saída PL SQL?

Exit ajuda quando a instrução sai da iteração atual do loop uma vez que a condição em sua cláusula WHEN é satisfeita e transfere o controle para o final do loop em andamento. As instruções Exit não podem ser usadas fora dos loops e destinam-se a sair de um loop incondicionalmente usando as instruções Exit e Continue ou condicionalmente usando as instruções Exit When e Continue When.

Diferença entre procedimento armazenado e de função

Agora que você conhece o procedimento e a função no PL SQL, finalmente é hora de saber também a diferença básica entre os dois:

  • O procedimento armazenado pode ou não retornar um valor para a parte de chamada do programa, enquanto a função retorna um valor para a parte de chamada do programa.
  • O procedimento armazenado retorna um valor usando o parâmetro OUT, enquanto a função retorna o valor usando RETURN.
  • O procedimento armazenado usa o parâmetro IN, OUT, IN OUT, enquanto a função usa apenas o parâmetro IN.
  • O procedimento armazenado não especifica o tipo de dados do valor se ele retornará após uma chamada feita a ele, enquanto a função especifica o tipo de dados do valor que retornará após uma chamada feita a ele.
  • O procedimento armazenado não pode ser chamado a partir do bloco de código de função, enquanto a função pode ser chamada a partir do bloco de código de procedimento.

Recomendado:

  • RAM DDR4 vs DDR5: qual é melhor para jogos?
  • Quais são os tipos de tábua de pão?
  • Como Analisar Texto
  • 4 maneiras de dividir string por delimitador em SQL

Esperamos que nosso documento sobre procedimento e função em PL SQL tenha sido útil e bem-sucedido em responder a todas as suas dúvidas sobre PL SQL e seus subprogramas, procedimento e função, procedimento de saída do PL SQL e muito mais. Se o ajudamos de alguma forma ou se houver mais dúvidas de sua parte, deixe seus comentários abaixo para nos informar.