给定一个表“员工”
employee_id | salary | department_id
-------------+--------+---------------
Run Code Online (Sandbox Code Playgroud)
仅使用 SQL 查找从一个部门到另一个部门的员工调动的所有变体,因此“出发”和“到达”部门的平均工资都增长了。
PS 我在面试中被问到这个问题,从来没有给出答案,谷歌也帮不上什么忙。
我按照以下步骤操作。
postgres通过 ( sudo -i -u postgres)登录的new_user通过 shell 脚本创建了新用户createuser --interactivecreatedb new_db.现在我想授予new_user权限,能够对他自己创建的表执行所有默认的 DML 操作(下面的命令取自这个问题),所以我输入:
postgres=# ALTER DEFAULT PRIVILEGES FOR new_user IN SCHEMA
public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO new_user;
Run Code Online (Sandbox Code Playgroud)
但是得到了一个错误:
ERROR: syntax error at or near "new_user"
LINE 1: ALTER DEFAULT PRIVILEGES FOR new_user IN SCHEMA public GRANT...
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这个命令不起作用。