Отчет об ошибке - ORA-00900: неверный оператор SQL

Я новичок в оракуле, я пытаюсь предоставить роли пользователям через процедуру. Я получаю следующую ошибку. Может кто-нибудь, пожалуйста, помогите мне с этим?

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

1 ответ

Решение

У вас нет пробелов в вашем утверждении:

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

Это должно работать лучше.

Другие вопросы по тегам