Differentiate between a procedure and a function

A estrutura de uma procedure e function são bem similares, mas possuem algumas diferenças vitais. Function tem a cláusula RETURN na assinatura e no bloco de execução enquanto a procedure não pode ter.

A modo como utilizamos também diferencia. Enquanto uma procedure é executada como uma declaração, uma function é executada como uma expressão, como atribuição do valor retornado para uma variável. Isso é uma observação a se fazer. Enquanto podemos utilizar uma function em uma query SQL normalmente(não se pode utilizar om tipo de dados que não faça parte da sintaxe SQL do Oracle, como BOOLEAN), devemos ter alguns cuidados em outras ocasiões, como em blocos PL/SQL ou utilizando o comando EXECUTE, nesses casos SEMPRE devemos utilizar o valor retornado. Também não podemos utilizar como parte de certas constraints, como CHECK e DEFAULT do comando CREATE TABLE.

Além dessas diferenças, apenas functions podem ter algumas cláusulas, como PARALLEL_ENABLE, DETERMINISTIC, PIPELINED, RESULT_CHACE. Essas opções já foram discutidas aqui no blog, para ver o que faz cada uma dessas cláusulas, acesse os links:

RESULT_CACHE
PARALLEL_ENABLE
DETERMINISTIC
PIPELINED

Anúncios

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Marcado com: ,
Publicado em Off Topic

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Esse Blog é reconhecido pela
Certificações
Sou articulista

Clique para seguir este blog e receber notificações via email de novos posts.

Tércio Costa

Tércio Costa

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Links Pessoais

Serviços verificados

Visualizar Perfil Completo →

Total de Visualizações da Página
  • 138.077 Visualizações
%d blogueiros gostam disto: