Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 8 anos, 8 meses atrás por Avatar de Sergio WilliansSergio Willians.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108094
    Avatar de ROVILSONROVILSON
    Participante

      Boa tarde amigos do fórum estou com esse probleminha ao tentar dar carga em uma tabela utilizando o comando dbms_random no oracle 11g

      Exatamente nesse comandos abaixo que esta dando o erro, quando tento utilizar o comando randômico para strings

      t := dbms_randon.string(‘U’,20);

      ERRO:

      ORA-06550: linha 18, coluna 8:
      PLS-00201: identifier ‘DBMS_RANDON’ must be declared
      ORA-06550: linha 18, coluna 3:
      PL/SQL: Statement ignored

      Quando eu executo para valores ele funciona nesse comando por ex d := DBMS_RANDOM.VALUE(1,30);
      Funciona direitinho.

      SEGUE COMANDO COMPLETO.

      DECLARE
      k INTEGER;
      b VARCHAR2(60);
      t VARCHAR2(20);
      d INTEGER;
      e VARCHAR2(60);
      f INTEGER;
      g VARCHAR2(60);
      h VARCHAR2(20);
      i INTEGER;
      j VARCHAR2(2);

      begin
      dbms_random.initialize(158467);
      FOR N IN 1..30
      LOOP
      k := N;
      b := dbms_randon.string(‘U’,60);
      t := dbms_randon.string(‘U’,20);
      d := DBMS_RANDOM.VALUE(1,30);
      e := dbms_randon.string(‘U’,60);
      f := DBMS_RANDOM.VALUE(100,600);
      g := dbms_randon.string(‘U’,60);
      h := dbms_randon.string(‘U’,10);
      i := DBMS_RANDOM.VALUE(1,10);
      j := DBMS_RANDOM.VALUE(1,4);

      INSERT INTO notas
      (n_estudante, nome_estudante, curso, n_disciplina, nome_disciplina, cod_professor,
      nome_professor, categoria_professor, NOTA, semestre)
      VALUES
      (k,b,t,d,e,f,g,h,i,j);
      END LOOP;
      COMMIT;
      dbms_random.terminate;
      END;

      MINHA TABELA É A SEGUINTE:

      CREATE TABLE NOTAS
      (
      N_estudante INTEGER NOT NULL ,
      Nome_estudante VARCHAR2 (60 BYTE) ,
      Curso VARCHAR2 (20 BYTE) ,
      N_Disciplina INTEGER NOT NULL ,
      Nome_Disciplina VARCHAR2 (60 BYTE) ,
      Cod_professor INTEGER ,
      Nome_professor VARCHAR2 (60 BYTE) ,
      Categoria_professor VARCHAR2 (20 BYTE) ,
      Nota INTEGER ,
      Semestre VARCHAR2 (2 BYTE)
      ) ;
      ALTER TABLE NOTAS ADD CONSTRAINT NOTAS_PK PRIMARY KEY ( N_estudante, N_Disciplina ) ;

      #108095
      Avatar de Sergio WilliansSergio Willians
      Mestre

        @rovilson

        Se observar nessa parte do código, verá que há um erro de sintaxe:

        t := dbms_randon.string(‘U’,20);

        A package é DBMS_RANDOM com M no final e não N.

        Olhe no erro abaixo:

        ERRO:

        ORA-06550: linha 18, coluna 8:
        PLS-00201: identifier ‘DBMS_RANDON’ must be declared
        ORA-06550: linha 18, coluna 3:
        PL/SQL: Statement ignored

        Perceba que o a package está com N no final.

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