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 ) ;