grant en oracle y procedimientos

carlos
13 de Mayo del 2005
--tengo el siguiente procedimiento que al aplicar cambios en la BD me dice que no tengo
--privilegios para hacer el insert , agrege el grant pero nada que puede ser ???
PROCEDURE ADDRETENT(TXT_CODBARRA IN VARCHAR ,DSP_FECHA IN VARCHAR ,
cHora IN VARCHAR ,cCodEntSal IN VARCHAR,
TXT_JUSTIFICACION IN VARCHAR,
cTipoAsistencia IN VARCHAR ) IS
BEGIN
--GRANT INSERT ON OYM TO PUBLIC;
INSERT INTO spe_regentsal
(HRS_CODBARRA,HRS_FECHA,HRS_HORA,HRS_COD_ENTSAL,HRS_ASUNTO,HRS_TIPO_ASIST)
VALUES
(TXT_CODBARRA,DSP_FECHA,cHora,cCodEntSal,TXT_JUSTIFICACION,cTipoAsistencia);
--('Z','12-MAY-2005','14:37:30','S','PRUEBA','A');
COMMIT;
END;

Ahora para mostrar el retorno de los valores de el procedimiento utilizo este codigo

donde me dice que el elemento ADDRETENT no existe O QUE NO ES VALIDO ¡¡

declare
xTXT_CODBARRA VARCHAR(30);
xDSP_FECHA VARCHAR(30);
xcHora VARCHAR(30);
xcCodEntSal VARCHAR(30);
xTXT_JUSTIFICACION VARCHAR(30);
xcTipoAsistencia VARCHAR(30);
BEGIN
xTXT_CODBARRA:='Z';
xDSP_FECHA:='12-may-2005';
xcHora:='17:23:30';
xcCodEntSal:='S';
xTXT_JUSTIFICACION:='PRUEBAFFF';
xcTipoAsistencia:='A';
--GRANT EXECUTE ON ADDRETENT(xTXT_CODBARRA,xDSP_FECHA,xcHora,xcCodEntSal,xTXT_JUSTIFICACION,xcTipoAsistencia) TO OYM WITH GRANT OPTION;
ADDRETENT(xTXT_CODBARRA,xDSP_FECHA,xcHora,xcCodEntSal,xTXT_JUSTIFICACION,xcTipoAsistencia);
DBMS_OUTPUT.put_line(xTXT_CODBARRA);
DBMS_OUTPUT.put_line(xDSP_FECHA);
DBMS_OUTPUT.put_line(xcHora);
DBMS_OUTPUT.put_line(xcCodEntSal);
DBMS_OUTPUT.put_line(xTXT_JUSTIFICACION);
DBMS_OUTPUT.put_line(xcTipoAsistencia);

END;

-- TALVEZ ESTOY APLICACANDO MAL EL GRANT PERO QUE PASA SI EL PROCEDIMIENTO

NI SIQUIERA COMPILA BIEN ??? HELP PLEASSE

capullo
13 de Mayo del 2005
tienes permisos para insertar en la tabla spe_regentsal pero, de que esquema?? me imagino que será un esquema distinto al tuyo, te puedes crear un sinonimo para propietario.spe_regentsal

nerea
13 de Mayo del 2005
Ten en cuenta que los roles no valen dentro de los procedimientos. Es decir, que si necesitas permisos los tienes que dar directamente al usuario, no a través de rol.