Grant roles to PL/SQL packages and standalone programs

Ao se trabalhar com packages, functions e/ou procedures temos duas opções com respeito aos privilégios que serão utilizados ao tentar executar algum desses programas. A primeira opção é ser executado com os privilégios de quem é o dono do objeto, owner. Isso seria o AUTHID DEFINER. A outra opção seria criar um programa deste para …

Continue lendo Grant roles to PL/SQL packages and standalone programs

Describe the uses of functions

Neste post curto, iremos descrever alguns usos de functions, algo muito utilizado em código PL/SQL. Podemos utilizar functions no SELECT list, além disto pode ser utilizado também no : ORDER BY, GROUP BY, SET, CONNECT BY, WHERE, HAVING, START WITH, VALUES. Pipelined functions podem ser utilizadas para retornar dados em um SELECT. Manipulação de caracteres …

Continue lendo Describe the uses of functions

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 …

Continue lendo Differentiate between a procedure and a function

Deterministic Functions

Irei detalhar agora algumas cláusulas que podem ser utilizadas ao criar uma função. A primeira delas sera a DETERMINISTIC. Essa cláusula poderá ser utilizada para indicar que a função irá sempre ter o mesmo retorno, caso sejam utilizados os mesmos argumentos. Se o Oracle vê que uma função deterministic foi utilizada, ele irá tentar usar …

Continue lendo Deterministic Functions

Functions

Funções sempre retornam um valor, diferentemente de uma procedure. Podemos chamar uma função tanto em código SQL como em PL/SQL. Podemos criar dentro do banco de dados, no bloco de declaração ou em um package que é algo que veremos mais a frente. Neste post veremos apenas uma breve introdução de como criar uma função. …

Continue lendo Functions

Composite Data Types

Os tipo de dados escalares já conhecemos muito bem nesse blog e os mais comuns são: caracteres, datas e números. Vamos então nos concentram nos compostos que possuem mais de um valor. Tipos de dados compostos são similares a uma linha de uma tabela com mais de uma coluna. Existe mais de um tipo de …

Continue lendo Composite Data Types

Local Named Blocks

Até agora só trabalhamos com blocos anônimos, vejamos agora alguns exemplos de blocos nomeados locais, ou então local subprograms, que nada mais é que um subprograma, no bloco declare de um bloco PL/SQL. Existem dois tipos: funções e procedures. A diferença entre eles é que a função retorna um valor e a procedure não, é …

Continue lendo Local Named Blocks