【问题标题】:Error report - ORA-00900: invalid SQL statement错误报告 - ORA-00900: 无效的 SQL 语句
【发布时间】:2016-07-09 23:19:52
【问题描述】:

我是 oracle 的新手,我正在尝试通过一个过程将角色授予用户。我收到以下错误。有人可以帮我解决这个问题吗?

declare stmnt2 varchar(10000);
p_user_name varchar2(20);
v_role_name varchar2(20);
begin 
v_role_name := 'ROLE';
p_user_name := 'TOM';
stmnt2 := 'grant '||v_role_name||' to '
                           ||v_user_name||'; '
                           ||' grant connect to '
                           ||v_user_name ;  
execute immediate stmnt2;
end;
/

Error report -
ORA-00900: invalid SQL statement
ORA-06512: at line 10
00900. 00000 -  "invalid SQL statement"

Thank you

【问题讨论】:

    标签: ora-00900


    【解决方案1】:

    你的陈述中没有空格:

    stmnt2 := 'grant '||v_role_name||' to '||p_user_name;  
    

    这一定会更好。

    【讨论】:

    • 非常感谢!它有效,但现在我对以下语句有疑问: stmnt2 := 'grant '||v_role_name||'到'||v_user_name||'; '||'授予连接到 ' ||v_user_name ;
    • 一一执行,去掉分号(;),因为此时立即执行将不起作用。
    猜你喜欢
    • 2011-01-21
    • 1970-01-01
    • 2010-12-29
    • 2011-07-17
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多