在SQL Developer中执行以下脚本(F5):
CREATE OR REPLACE FUNCTION "FOO"."BAR"
...
END BAR;
GRANT EXECUTE ON "FOO"."BAR" TO PUBLIC;
将创建函数,但将GRANT行嵌入到函数中(导致它处于无效状态),而不是在函数上实际执行GRANT。
如果GRANT在不同的SQL Developer窗口/会话中执行,则GRANT将按预期工作。
如果在SQL * Plus中执行,则按预期工作:
CREATE OR REPLACE FUNCTION "FOO"."BAR"
...
END BAR;
/
GRANT EXECUTE ON "FOO"."BAR" TO PUBLIC;
/
此语法在SQL Developer中不起作用。
有没有办法以能在SQL Developer中正确执行的方式组合这些命令?
答案 0 :(得分:0)
尝试在SQL Developer中使用斜杠,就像在sqlplus
中一样CREATE OR REPLACE FUNCTION "FOO"."BAR"
...
END BAR;
/
GRANT EXECUTE ON "FOO"."BAR" TO PUBLIC;
/