我想
INSERT INTO TABLE (col1, col2, col3) [col1 through col3 are non null columns]
VALUES (val1,val2,val3)
所有的val都是uniqueidentifiers。我正在做的是更新一个表,该表具有val1的唯一成员ID和val2的唯一带状密钥以及由val3的密钥创建的唯一。这在UI方面的作用是为成员分配功能区,并且必须由成员创建。我想要做的是将val2和val3分配给100个成员。所以我想知道我是否可以执行一个返回100个成员id列表的select查询,并将id列表分配给我将用于val1的变量。
尝试使用以下方法获取分配了所有ID的变量时:
declare @members uniqueidentifier
set @members = (
Select Members.MemberID from Members
where departmentkey = 'D22CF614-721B-4C15-ABF6-02541CDC7502')
[这将返回100个成员的特定部门的所有成员]
我收到此错误:
Msg 512, Level 16, State 1, Line 2
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
所以我的第一步是找出如何让这个变量@members分配成员ID列表。 然后第二步是为所有成员分配这样的功能区:
INSERT INTO TABLE (col1, col2, col3)
VALUES (@members,val2,val3)
有没有办法做我想做的事情? 如果您需要更多信息,请与我们联系。 感谢
答案 0 :(得分:4)
尝试这样做:
INSERT INTO TABLE (col1, col2, col3)
Select Members.MemberID, val2,val3
from Members
where departmentkey = 'D22CF614-721B-4C15-ABF6-02541CDC7502';
不要打扰变量。