Procedimento Armazenado vs Função
Procedimentos e funções armazenados são dois tipos de blocos de programação. Ambos devem ter nomes de chamada. Esses nomes de chamada são usados para chamá-los dentro de outro bloco de programação, como procedimentos, funções e pacotes ou consultas SQL. Esses dois tipos de objetos aceitam parâmetros e executam a tarefa por trás desses objetos. Esta é a sintaxe (no ORACLE) para criar um procedimento armazenado,
criar ou substituir o procedimento nome do procedimento (parâmetros)
Como
início
afirmações;
exceção
manipulação de exceção
fim;
E aqui está a sintaxe para criar uma função (no ORACLE),
criar ou substituir a função nome_da_função (parâmetros)
return return_datatype
Como
início
afirmações;
return return_value / variável;
exceção;
manipulação de exceção;
fim;
Procedimentos armazenados
Como mencionado acima, os procedimentos armazenados são chamados de blocos de programação. Eles aceitam parâmetros como entrada e processo do usuário de acordo com a lógica por trás do procedimento e fornecem o resultado (ou executam uma ação específica). Esses parâmetros podem ser do tipo IN, OUT e INOUT. Declarações de variáveis, atribuições de variáveis, instruções de controle, loops, consultas SQL e outras funções / chamadas de procedimento / pacote podem estar dentro do corpo dos procedimentos.
Funções
As funções também são denominadas blocos de programação, que devem retornar um valor usando a instrução RETURN e, antes de retornar um valor, seu corpo também executa algumas ações (de acordo com a lógica fornecida). As funções também aceitam parâmetros para execução. As funções podem ser chamadas dentro das consultas. Quando uma função é chamada dentro de uma consulta SELECT, ela se aplica a cada linha do conjunto de resultados da consulta SELECT. Existem várias categorias de funções do ORACLE. Eles são,
Existem subcategorias de funções de uma única linha.
Qual é a diferença entre function e Stored Procedure? • Todas as funções devem retornar um valor usando a instrução RETURN. Procedimentos armazenados não retornam valores usando a instrução RETURN. A instrução RETURN dentro de um procedimento retornará seu controle ao programa de chamada. Os parâmetros OUT podem ser usados para retornar valores de procedimentos armazenados. • As funções podem ser chamadas dentro das consultas, mas os procedimentos armazenados não podem ser usados dentro das consultas. • O tipo de dados RETURN deve ser incluído para criar uma função, mas no procedimento armazenado DDL, não é. |