我试图在 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 行
- 00000 - “缺少关键字”
*原因:
*行动:
在“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)
| 归档时间: |
|
| 查看次数: |
8088 次 |
| 最近记录: |