我有一个任务表链接到一个任务列表表。此外,我有一个链接到任务表的位置表。我希望使用@EMPID变量将整个任务列表与用户A关联起来。条件:
我是用一个有光标的过程写的。我需要游标跳过不符合条件的行和任务,最后分配任务列表。任务表:

任务列表表:

位置表:

预期成果:

这是我的代码:
CREATE PROCEDURE assign
(
@usrid int
)
AS
DECLARE @empid int
DECLARE @tklid int
DECLARE @check int
DECLARE @cnt int
DECLARE C1 CURSOR LOCAL FOR
SELECT tkl_ID
FROM tasklist
INNER JOIN lv_task ON tsk_tasklistid = tkl_id
INNER JOIN lv_location ON tsk_location = location_code
WHERE location_code = a tkl_id ) x ON tkl_ID = x.TKLID
WHERE tkl_locationcode = a
OPEN c_tasklist
FETCH c_tasklist INTO @tklid
WHILE @@fetch_status <> -1
BEGIN
UPDATE task SET
tsk_user = @empid
WHERE tsk_user IS NULL
AND tsk_id IN (SELECT tsk id FROM task WHERE tsk_location = 'AA'
END我还没有走到正确的方向,我很感谢你的指导,谢谢!
发布于 2022-07-30 18:33:54
您根本不需要光标:
UPDATE task SET tsk_user = 'A' WHERE tsk_location = 'AA' AND tsk_user = ''
https://stackoverflow.com/questions/73175979
复制相似问题