我设法写了这个查询:
INSERT INTO UserRoles (UserId, RoleId)
VALUES (@UserId, (SELECT Id FROM Roles WHERE Name = @Name));
Run Code Online (Sandbox Code Playgroud)
它按预期工作.问题是我觉得这是编写嵌套查询的坏方法(这里 - 在Roles表中找到与指定名称匹配的角色的id ).没有嵌套查询可以做到这一点吗?
有经验的程序员可能会笑,但我正在努力学习这一点,我不知道如何才能使这个查询变得更好.我非常感谢你的建议.
INSERT使用INSERT INTO ... SELECT FROM构造将您的语句更改为如下所示.您可以参考Postgresql文档以获取相同的更多信息.
INSERT INTO UserRoles (UserId, RoleId)
SELECT @UserId, Id FROM Roles WHERE Name = @Name;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |