可以使用select语句中的值在一个表中插入多行吗?
一个例子:
INSERT INTO SomeTable (UserID, ModuleID, ModuleRights) VALUES
(u.UserId, 1, 15),
(u.UserId, 2, 1),
(u.UserId, 4, 3),
(u.UserId, 8, 7)
SELECT * FROM Users u
Run Code Online (Sandbox Code Playgroud)
是的,但你需要小心如何做到这一点.在这种情况下,你似乎想要一个cross join:
INSERT INTO SomeTable (UserID, ModuleID, ModuleRights)
SELECT u.UserId, v.ModuleID, v.ModuleRights
FROM Users u CROSS JOIN
(VALUES (1, 15),
(2, 1),
(4, 3),
(8, 7)
) v(ModuleID, ModuleRights);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |