Publicidade

Entre para seguir isso  
Seguidores 0
josePeixoto

Erro função

oracle

Olá, alguém saberia me dizer onde está o erro na função abaixo.

function verifica_valor(x in number)
return number

is valor number;

begin
IF x:=0 then
valor:=0;
return valor;
ELSE
return x;
end if;
end;

Sou novato no oracle, então não sei resolver questões assim de prima.

Obrigado desde já.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

:= indica recebe valor

X:=123;

X recebe 123

= compar

If X = 123 then ...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0

  • Próximos Eventos

  • Conteúdo Similar

    • Por taynielly
      pessoal alguém pode me dar uma idéia sobre a questão abaixo.
      O assunto é arquivo, estou tentando fazer uma função para modificar(alterar) e excluir(remoçao) um registro do arquivo, porem nesse caso a funçao de modificar(alterar) esta dando erro.
      Castro de setores.txt
       
      ===codigo===
       
      #include <stdio.h>
      #include <stdlib.h>

      //funçao para abir.
      FILE* AbreArquivo(char modo, char caminho[30]){
          FILE *arquivo;
          switch(modo){
              case 'g':
                  arquivo = fopen(caminho,"wt"); // Gravaço
                  break;
              case 'l':
                  arquivo = fopen(caminho,"rt"); // leitura
                  break;
              case 'a':
                  arquivo = fopen(caminho,"a"); // anexar
                  break;
          }
          if(arquivo==NULL){
              printf("\nNao foi possivel abrir. \n Arquivo Inexistente");
              exit(0);
          }
          return arquivo;
      }
      //funçao para fechar
      void FecharArquivo(FILE *arquivo){
          fclose(arquivo);
      }
      //funçao para cadastrar
      void Cadastra(int cods, char Setor[30], int telefone){
          FILE *arquivo;
          arquivo = AbreArquivo('a', "Setor.txt");
          fprintf(arquivo, "%d %s %d\n", cods, Setor, telefone);
          FecharArquivo(arquivo);
      }
      //funçao para listar
      void Listar(){
          FILE *arquivo;
          int cods;
          char Setor[30];
          int telefone;
          arquivo = AbreArquivo('l',"Setor.txt");
          while(!feof(arquivo)){
              fscanf(arquivo,"%d %s %d ",&cods , &Setor, &telefone);
              printf("\nCodigo Setor:%d Setor: %s  -  Telefone: %d \n",cods , Setor, telefone);
          }
          FecharArquivo(arquivo);
      }
      //funçao para modificar(alterar).
      void Alteracao(int cods, char Setor[30], int telefone){
           FILE *arquivo, *arquivo2;
           int codsARQ;
           char SetorARQ[30];
           int telefoneARQ;
          
          
          arquivo = AbreArquivo('l',"Setor.txt");
          arquivo2 = AbreArquivo('a',"Setor1.txt");
          
          while(!feof(arquivo)){
              fscanf(arquivo,"%d %s %d ",&codsARQ, &SetorARQ, &telefoneARQ);
              if(cods == codsARQ)
                   fprintf(arquivo2, "%d %s %d\n", cods, Setor, telefone);
              else
                  fprintf(arquivo2, "%d %s %d\n", codsARQ, SetorARQ, telefoneARQ);   
              //printf("\nCodigo Setor:%d Setor: %s  -  Telefone: %d \n",cods , Setor, telefone);
          }
          FecharArquivo(arquivo);
          FecharArquivo(arquivo2);
      }
       
      int main(void){
          
          int op;
          char Setor[30];
          int telefone, cods;
          do{
              
              system("cls");
              
              printf("\t       Bem Vindo. \n\n\t===Lista de Setores===\t");
              printf("\n\t\tMENU\n");
              printf("\n 1 - Cadastrar Setor e Telefone:");
              printf("\n 2 - Listar todos os Setores e Telefones:");
              printf("\n 3 - Alterar Setor e Telefone:");
              printf("\n 4 - Remover Setor e Telefone:");
              printf("\n 5 - Sair.");
              printf("\n");
              printf("\nDigite um Numero: ");
              scanf("%d", &op);
              
              switch(op){
                  case 1:
                      system("cls");
                      printf("\nDigite o Codigo do Setor: ");
                      scanf("%d", &cods);
                      printf("\nDigite o Setor: ");
                      setbuf(stdin,NULL);
                      gets(Setor);
                      printf("\nDigite o telefone: ");
                      scanf("%d", &telefone);
                      Cadastra(cods, Setor, telefone);
                      system("pause");
                      break;
                  case 2:
                      system("cls");
                      Listar();
                      system("pause");
                      break;
                  case 3:
                      system("cls");
                      printf("\nDigite o Codigo do Setor a ser alterado: ");
                      scanf("%d", &cods);
                      printf("\nDigite o novo Setor: ");
                      setbuf(stdin,NULL);
                      gets(Setor);
                      printf("\nDigite o novo telefone: ");
                      scanf("%d", &telefone);
                      
                      Alteracao(cods, Setor, telefone);
                      system("pause");
                      break;
                  case 4:
                      break;
                  case 5:
                      printf("\n\nFinalizando...\n\n");
                      system("pause");
                      exit(0);
                      break;    
                  default:
                      printf("\n\nEscolha invalida! Tente Novamente!\n\n");
                      system("pause");
              }    
          
         }while(op!=5);
         
         return 0 ;
      }
    • Por YuriPrado
      Ola, 
       
      Estou com uma duvida em c++ sobre como pegar a resposta dada por um usuario em uma função e passa-lá para um arquivo.txt.
       
      Obs. Eu abri um arquivo texto, fiz a leitura dele e fiz as funções baseadas nele usando void. O usuário deverá responder as questões e as respostas dele armazenada em um arquivo diferente.
    • Por tainan_ramos
      Estava fazendo um query hoje e me deparei com uma consulta diferente onde estava sendo usado um select com duas tabelas exemplo.
       
      select * from table1, table2
      where table1.idtable = table2.idtable;
       
      Porém isso também poderia ser feito com join, que é a forma que costumo trabalhar.
       
      select * from table1
      inner join table2 on (table1.idtable = table2.idtable);
       
      ambas funcionam, minha dúvida é quando devemos usar uma e quando devemos usar a outra?
    • Por Gurandao
      Olá galera, preciso criar um cálculo de correção monetária, já criei a tabela com todos os índices e fatores baseados no site https://api.tjsp.jus.br (Abril/2017).
      Vamos ao que interessa:
      Puxei os valores da tabela, a fórmula do cálculo é: Valor  (dividido) pelo fator do mes que venceu (multiplicado) pelo ultimo indice cadastrado (mes anterior).
      Então temos os valores: Valor (270.72), fator do mês que venceu (48.485963) e fator do mês anterior atual (66.839575).
      Eu criei o seguinte cálculo:
      $correcao =$valor / $fator_vcto * $fator_atual;
      ou seja:
      $correcao = 270.72 / 48.485963 * 66.839575;
      O resultado que ele me apresenta é 276.699454107990 sendo que na calculadora e no excel o valor correto calculado é 373.1968723
       
      Desde já agradeço à todos que puderem me ajudar!
       
    • Por josePeixoto
      Olá, alguém pode me ajudar nessa consulta?
      SELECT TRUNC(a.dt_atualizacao) dt, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_consulta f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.ie_classif_agenda ='P' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_cons, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_consulta f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.ie_classif_agenda ='Pr' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_proc, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_paciente f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.IE_STATUS_AGENDA ='E' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_exa FROM adiantamento a, caixa_receb cr WHERE a.nr_seq_caixa_rec = cr.nr_sequencia AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final GROUP BY TRUNC(a.dt_atualizacao) ORDER BY 1; Ela ta me trazendo as datas direitinho, mas não está somando por elas, mas sim, tudo e colocando na tabela. Seguem os resultados
       
      01/01/2017       68       15       10
      02/01/2017       68       15       10
      03/01/2017       68       15       10
      04/01/2017       68       15       10
      ...
       
      Alguém tem alguma noção do que tá errado ou como resolver?
       
      Obrigado desde já!!!