ORA-00905: 缺少关键字

1 oracle oracle-11g-r2 linux

我试图在 Linux 机器上的 Oracle DB 11g 上运行以下 Pl/SQL 语句,但收到错误“缺少关键字”。如果我错过了什么,请告诉我。

BEGIN

FOR X in (select * from all_tables where owner in ('owner1', 'owner2')) LOOP

EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON ' ||X.owner||'.'||X.table_name|| 'to myuser';

END LOOP;

end;
/


Error starting at line : 1 in command -
BEGIN
FOR X in (select * from all_tables where owner in ('TESTDTA', 'TESTCTL')) LOOP
EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON ' ||X.owner||'.'||X.table_name|| 'to ARCTOOLS212';
END LOOP;

end;
Run Code Online (Sandbox Code Playgroud)

错误报告

ORA-00905:缺少关键字 ORA-06512:在第 3 行

  1. 00000 - “缺少关键字”

*原因:

*行动:

Han*_*lin 5

在“to myuser”之前缺少一个空格。

BEGIN
FOR X in (select * from all_tables where owner in ('TESTDTA', 'TESTCTL'))
LOOP
    EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON '
        ||X.owner||'.'||X.table_name||
        ' to TESTUSER';
END LOOP;
END;
/
Run Code Online (Sandbox Code Playgroud)