错误报告 - ORA-00900:无效的 SQL 语句

Error report - ORA-00900: invalid SQL statement

我是 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

您的语句中没有空格:

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

这一定会更好。