sql >> Base de Datos >  >> RDS >> Oracle

convertir a PROCEDIMIENTO pl/sql

Todo lo que necesita cambiar es DECLARE (que indica el inicio de un bloque anónimo) a CREATE PROCEDURE , con la variable que está configurando actualmente a través de una variable de sustitución como argumento formal; así que en lugar de:

DECLARE
     veno  emp.empno%type:=&veno;
     vsal  emp.sal%type;
     vexp  number;
BEGIN
...
END;
/

Hazlo:

CREATE OR REPLACE PROCEDURE my_proc (veno IN emp.empno%type)
AS
     vsal  emp.sal%type;
     vexp  number;
BEGIN
...
END;
/

Luego puede llamarlo desde un bloque anónimo, o en SQL*Plus o SQL Developer con execute taquigrafía:

set serveroutput on
execute my_proc(&veno);

Este ejemplo todavía usa una variable de sustitución, por lo que se le promocionará por el valor a usar, pero también puede pasar un número directamente.

Obtenga más información sobre la creación de procedimientos y los tipos de parámetros .

Podría simplificar bastante el código para reducir la repetición y las nuevas consultas; busque expresiones de caso y la cláusula de retorno. Pero eso no es directamente relevante.