看来我缺少了一些东西。我似乎无法在存储过程中使用revoke。
CREATE PROCEDURE revokeRight
AS
BEGIN
REVOKE ALL ON Barang FROM WorkerA;
END;
最佳答案
您不能在PL/SQL块中直接使用REVOKE语句,需要使用 EXECUTE IMMEDIATE :
CREATE or replace PROCEDURE revokeRight
AS
BEGIN
EXECUTE IMMEDIATE 'REVOKE ALL ON Barang FROM WorkerA';
END;
/
我不建议在PL/SQL内部使用DCL命令来即时授予/吊销。在这样做之前,您需要谨慎。