Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #86192
    Anônimo

      Boa noite

      Estou iniciando em PL/SQL utilizo Oracle 10 XE e SQL Developer.

      create or replace FUNCTION "teste"
      (
      Horas IN NUMBER
      )

      return NUMBER

      IS
      RS NUMBER;

      BEGIN
      RS := horas*60;
      RETURN RS;
      END;

      SELECT teste(10) AS RS FROM DUAL;

      Erro ao iniciar na linha 1 no comando:
      SELECT teste(10) AS RS FROM DUAL
      Erro na Linha de Comando:1 Coluna:7
      Relatório de Erro:
      Erro SQL: ORA-00904: “TESTE”: identificador inválido
      00904. 00000 – “%s: invalid identifier”
      *Cause:
      *Action:

      #86193
      Avatar photoLeonardo Litz
      Participante

        Tire as aspas do nome da function

        create or replace FUNCTION teste
        (
        Horas IN NUMBER
        )

        return NUMBER

        IS
        RS NUMBER;

        BEGIN
        RS := horas*60;
        RETURN RS;
        END;

        #86256
        rerodrig
        Participante

          Quando você cria um objeto com aspas, o Oracle grava o nome dele do jeito que você escreveu (com letras minusculas ou maiusculas), quando você cria sem as aspas ele grava sempre com maiusculas.

          Nesse caso você criou com minusculas e quando tenta acessar, o Oracle procura o objeto com as letras maiusculas, por isso dá o erro de identificador inválido.

          O ideal é sempre criar sem aspas ou com letras maiusculas, para não ter problemas.

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.