Procedimiento compila pero no ejecuta en oracle 11g
He creado un procedimiento en oracle sql developer, el cual compila pero cuando le doy a ejecutar no hace nada ni siquiera mensaje de error, es un procedimiento para ingresar datos a una tabla, tomando estos datos aleatoriamente de otra tabla.
Cuando lo he querido ejecutar desde el "Get Started With Oracle Database 11g Express Edition" el exec ProAgenda(1000); me sale error ORA-00900: invalid SQL statement.
Esto es una tarea que me han pedido que haga pasar una base de datos de sql server a Oracle, pero la sintaxis de oracle casi no la conozco, te dejo el script para que tengas un mejor conocimiento, es llenar datos a tabla Agenda de datos de una tabla People aleatoriamente, la cantidad de registros serán 1000, 10000 y 100000, queremos controlar el tiempo d ejecución y comparar, Muchas gracias por la ayuda, espero pronta respuesta:
Create or replace
procedure ProAgenda (numero number)
as
contador number(6);
nameA varchar(12):='';
surnameA
varchar(40):='';
dateofbirth date;
salary number(5);
begin
while contador <=
numero loop
contador:=contador+1;
select NameP into
nameA FROM (SELECT NameP FROM People ORDER BY dbms_random.value) WHERE rownum =
1;
select((SELECT
RTRIM(SurnameP1) FROM (SELECT SurnameP1 FROM People ORDER BY dbms_random.value)
WHERE rownum = 1)||' '||(SELECT SurnameP2 FROM (SELECT SurnameP2 FROM People
ORDER BY dbms_random.value) WHERE rownum = 1))INTO surnameA FROM DUAL;
select(select to_date('01/01/1950','DD/MM/YYYY')+
(SELECT round(DBMS_RANDOM.VALUE(1,14600)) FROM dual) from dual)INTO dateofbirth
FROM DUAL;
select(SELECT
round(DBMS_RANDOM.VALUE(1000,4000)) FROM dual)INTO salary from dual;
insert into Agenda
values (contador,nameA,surnameA,dateofbirth,salary);
end loop;
end;
exec ProAgenda(1000);