根据表A中的列将值插入表B中?

时间:2015-03-10 17:46:20

标签: sql oracle11g oracle-sqldeveloper

我有2个表,一个Users表和一个User_permissions表。用户可以拥有许多权限,并且每个权限都可以分配给许多不同的用户,尽管这种关系尚未配置到数据库中(不是我的决定!)。

我们假设创建了2个新权限 - admin权限和superadmin权限。此外,Users表中的每个用户都需要通过在User_permissions表中插入用户名和权限名称来获得此权限。

显然这可以由INSERT INTO User_permissions VALUES (userA, admin)手动完成,依此类推,但鉴于我有超过1,000个用户的列表,有没有更简单的方法呢?我正在考虑用Java编写一个快速脚本,但只有一种更简单的方法是使用SQL吗?

1 个答案:

答案 0 :(得分:2)

使用insert . . . select

INSERT INTO User_permissions(user, permission)
    SELECT user, 'admin'
    FROM users u;