Cés*_*eva 2 sql oracle plsql procedures
我用 3 个程序创建了以下包:
CREATE OR REPLACE PACKAGE PQ_PaqueteIntegrantes
AS
PROCEDURE INTEG_INSERCIONES(paIdIntegrante IN CreadorTablas.INTEGRANTES.ID_INTEGRANTE%TYPE
,paNombre IN CreadorTablas.INTEGRANTES.NOMBRE%TYPE
,paApellidoPaterno IN CreadorTablas.INTEGRANTES.APELLIDO_PATERNO%TYPE);
PROCEDURE INTEG_MODIFICACIONES(paIdIntegrante IN OUT CreadorTablas.INTEGRANTES.ID_INTEGRANTE%TYPE
,paNombre IN OUT CreadorTablas.INTEGRANTES.NOMBRE%TYPE
,paApellidoPaterno IN OUT CreadorTablas.INTEGRANTES.APELLIDO_PATERNO%TYPE);
PROCEDURE INTEG_ELIMINCACIONES(
paIdIntegrante IN OE.EJEMPLO_TRANSAC_CLASE.CUSTOMER_ID%TYPE
,paMjeDescError OUT VARCHAR2
,paCodeError OUT NUMBER);
END PQ_PaqueteIntegrantes;
Run Code Online (Sandbox Code Playgroud)
我使用名为Admin_proyectos的用户创建了这些过程。第一个过程制作“插入”,第二个“更新”,最后一个“删除”,所有这些都在一个名为Integrantes的表上工作,该表来自另一个名为CreadorTablas 的用户。我的目的是创建另一个名为Admin 的用户,当然,他将负责使用这个包中的过程来做这些事情。我试过做一个 PL/SQL 块,但它不起作用,无论是 EXEC。
GRANT EXECUTE ON ADMIN_PROYECTOS.PQ_PaqueteIntegrantes TO Admin
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用Admin用户调用此包中的过程
BEGIN
ADMIN_PROYECTOS.PQ_PaqueteIntegrantes.INTEG_INSERCIONES(paIdIntegrante, paNombre, paNombre);
END;
Run Code Online (Sandbox Code Playgroud)