Arquivo da tag: PL/SQL

Como criar um campo autoincremental no Oracle PL/SQL

O Oracle não tem campos auto incrementais, para simular esta funcionalidade é necessário criar “Sequences”:

CREATE SEQUENCE seqFuncionarios
INCREMENT BY 1
START WITH 1
MAXVALUE 99999
NOCACHE
NOCYCLE;

Para utilizar, a cada linha adicionada ele irá aumentar em 1 (INCREMENT BY 1) o valor desta “sequence”.

INSERT INTO FUNCIONARIOS (ID, NOME) VALUES (seqFuncionarios.nextVal; 'João');
INSERT INTO FUNCIONARIOS (ID, NOME) VALUES (seqFuncionarios.nextVal; 'Roberto');

João terá ID igual a 1 (START WITH 1) e Roberto terá o ID igual a 2 (INCREMENT BY 1: 1 + 1 = 2).

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

ORA-01830: a imagem do formato da data termina antes de converter a string de entrada inteira

ORA-01830: a imagem do formato da data termina antes de converter a string de entrada inteira
01830. 00000 -  "date format picture ends before converting entire input string"
*Cause:    
*Action:

Causa 01: Você deve estar utilizando uma data inválida. Exemplo: 31/06/2016 (Quando o mês em 2016 vai até dia 30);

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como utilizar cursor no PL SQL

Segue abaixo um exemplo básico do uso de cursor na linguagem PL/SQL

DECLARE

  CURSOR Funcionarios IS

      SELECT
        matricula
        nome
      FROM
        funcionario

  registroFuncionario Funcionarios%Rowtype;

BEGIN

     OPEN Funcionarios;

     LOOP
            Fetch Funcionarios Into registroFuncionario;

            EXIT WHEN Funcionarios%NotFound;

              Dbms_Output.Put_Line ('Funcionário: ' || registroFuncionario.matricula || ' - ' || registroFuncionario.nome );

      END LOOP;

      CLOSE Funcionarios;

END;
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como pesquisar por um texto em todas as Stored Procedures do Banco de Dados Oracle?

Utilize a consulta abaixo:

 SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%TEXTO%'; 

A consulta acima irá pesquisar pela palavra “TEXTO” dentro de todos os procedimentos armazenados contidos no servidor de banco de dados.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).