Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

O que são procedimentos armazenados PL/SQL no banco de dados Oracle


Semelhante às funções PL/SQL, um procedimento armazenado é um autocontido subprograma que se destina a realizar algumas tarefas específicas. Também semelhantes às funções, os procedimentos são chamados de blocos PL/SQL, portanto, podem ser reutilizados porque são armazenados no banco de dados como um objeto de banco de dados. Mas diferente das funções PL/SQL, um procedimento armazenado não retorna nenhum valor .

Sintaxe de procedimentos armazenados PL/SQL

CREATE [OR REPLACE] PROCEDURE pro_name (Parameter – List)
IS [AUTHID 	DEFINER | CURRENT_USER]
	Declare statements
BEGIN
	Executable statements 
END procedure name;
/ 

A sintaxe do procedimento armazenado PL/SQL acima é bastante semelhante à sintaxe das funções PL/SQL que vimos no último tutorial PL/SQL. Exceto por duas coisas:
  1. Não há cláusula de devolução.

Uma diferença central entre uma função PL/SQL e um procedimento armazenado é que, diferentemente das funções, um procedimento armazenado não retorna nenhum valor.
  1. Cláusula AUTHID.

A cláusula AUTHID é usada para configurar o modelo de autoridade para os Procedimentos PL/SQL. Esta cláusula tem dois sinalizadores.
  1. DEFINER e
  2. CURRENT_USER

Como esta cláusula é opcional, caso você não use a cláusula AUTHID, o Oracle Engine definirá a autoridade (AUTHID) para o DEFINER por padrão para você. Agora, você deve estar se perguntando quais são esses direitos DEFINER e CURRENT_USER?

DEFINER certo: O direito do definidor é o direito padrão atribuído ao procedimento pelo mecanismo oracle. Esse direito significa que qualquer pessoa com Privilégio de Execução no procedimento age como se fosse o proprietário do esquema no qual o privilégio é criado.

CURRENT_USER à direita: Definir o nível de autoridade de um procedimento armazenado para o direito current_user substitui o direito padrão que é definidor e o altera para os direitos do chamador.

A autoridade de direito do invocador significa que você chama o procedimento para agir em seus dados locais e exige que você replique objetos de dados em qualquer esquema participante.

Alguns pontos extras sobre o procedimento armazenado

  • Você pode definir um procedimento com ou sem parâmetros formais.
  • Um parâmetro pode ser passar por valor ou passagem por referência .
  • Um procedimento será um procedimento de passagem por valor quando você não especificar o modo de parâmetro porque ele usa o modo IN padrão.

É isso em Introdução aos Procedimentos Armazenados PL/SQL. Eu acho que você também vai gostar de ler esses blogs abaixo mencionados. Todos os blogs são escritos tendo em mente a entrevista de emprego e a certificação do banco de dados Oracle, certifique-se de vê-los.
  • Diferenças entre a função PL/SQL e os procedimentos armazenados PL/SQL?
  • O que são modos de parâmetro em funções e procedimentos PL/SQL?
  • O que são parâmetros formais e reais?

Lembre-se sempre:você pode ajudar outras pessoas a aprender e apoiar a mim e ao meu canal, bem como a este blog, compartilhando-o com seus amigos em suas redes sociais.



É isso galera. Obrigado por ler. Cuide-se e tenha um ótimo dia!