Fabián, parte de nuestro equipo de trabajo, nos ha hecho el favor de crear este post ya que conoce muy bien dicho tema.
Solución:
Execute
es la sintaxis sql*plus… intenta envolver tu llamada en begin… end así:
begin
temp_proc;
end;
(Aunque Jeffrey dice que esto no funciona en APEX… pero está tratando de hacer que esto se ejecute en SQLDeveloper… pruebe el menú ‘Ejecutar’ allí).
Oracle 10g Express Edition se envía con Oracle Application Express (Apex) integrado. Está ejecutando esto en su ventana de Comandos SQL, que no es compatible con la sintaxis de SQL*Plus.
Eso no importa, porque (como ha descubierto) la sintaxis BEGIN…END funciona en Apex.
Tanto ‘es’ como ‘como’ son sintaxis válidas. La salida es desactivado por defecto. Pruebe un procedimiento que también habilite la salida…
create or replace procedure temp_proc is
begin
DBMS_OUTPUT.ENABLE(1000000);
DBMS_OUTPUT.PUT_LINE('Test');
end;
…y llamarlo en un bloque PLSQL…
begin
temp_proc;
end;
…ya que SQL no es de procedimiento.