我不确定这里有什么问题,请帮忙。
我试图遍历结果集并使用set中的id来执行另一个select查询。
DECLARE @MyCursor CURSOR;
DECLARE @ID int;
DECLARE @Name varchar(200)
BEGIN
SET @MyCursor = CURSOR FOR
SELECT ID, Name FROM UserGroups
OPEN @MyCursor
FETCH @MyCursor INTO @ID, @Name;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT * FROM ErrorToNotify INNER JOIN ErrorMessages ON
ErrorToNotify.ErrMsgID = ErrorMessages.ID
INNER JOIN InterfaceErrors ON
InterfaceErrors.ErrMessageID = ErrorMessages.ID
WHERE UserGroupID = @ID
FETCH NEXT FROM @MyCursor
END;
CLOSE @MyCursor ;
DEALLOCATE @MyCursor;
END;
答案 0 :(得分:3)
在循环之前和循环结束时使用uniform float intensity;
// Custom global functions (optional)
vec2 sincos(float t) { return vec2(sin(t), cos(t)); }
// Pragma directives (optional)
#pragma transparent
#pragma body
// Code snippet
_geometry.position.xy = sincos(u_time);
_geometry.position.z = intensity;
修改强>
我的回答解决了您的语法错误,但正确的方法是不使用游标。检查Rahul的回答。
答案 1 :(得分:1)
你当然不需要光标而只需要与UserGroups
表格进行另一次额外的连接,如下所示。此外,为什么你在游标中提取Name
列,因为你没有在任何地方使用它。
SELECT * FROM ErrorToNotify
INNER JOIN ErrorMessages ON ErrorToNotify.ErrMsgID = ErrorMessages.ID
INNER JOIN InterfaceErrors ON InterfaceErrors.ErrMessageID = ErrorMessages.ID
INNER JOIN UserGroups ON ErrorToNotify.UserGroupID = UserGroups.ID;