我在ABC用户的XXX类型上执行了grant选项,但是成功地使用了query-1
query-1:
GRANT EXECUTE ON XXX TO ABC WITH GRANT OPTION;
我成功使用query-2获取了当前用户
query-2:
select user from dual;
现在我想动态地与用户一起执行query-1。我试图将用户存储在变量中Say user_name [表示user_name =从双重中选择用户;]
执行查询1,如---
GRANT EXECUTE ON XXX TO user_name WITH GRANT OPTION;
我也试过
GRANT EXECUTE ON XXX TO (select user from dual) WITH GRANT OPTION;
但编译失败。
请帮我解决这个问题。
由于
答案 0 :(得分:0)
您可以在PLSQL
块中以这种方式使用它:
declare
user_name varchar2 (100);
v_sql varchar2 (100);
begin
select 'HR'
into user_name
from dual;
v_sql := 'GRANT EXECUTE ON get_values TO '||user_name||' WITH GRANT OPTION';
execute immediate v_sql;
end;