我想通过从designation_id
表中获取Employee
的值来更新表designation_id
中的designation
,其中指定表中的指定名称等于员工中的指定名称表
Following code is just updating one value using cursor
答案 0 :(得分:2)
您在select
中仅获得一条记录。光标在提供的一行中循环,并执行您想要的操作
游标的工作原理:
您可以通过执行一些选择为光标提供一些数据。 现在,您的游标会遍历所有记录并执行您打算执行的操作。
SqlServer中的示例:
DECLARE Cursor scroll cursor for
SELECT top 500 ID, demoID, demosecondID
FROM Table
WHERE condition = @Variable
OPEN Cursor
fetch next from Cursor into @ID, @demoId,@demosecondId
WHILE @@fetch_status = 0
BEGIN
-- Your intended operation
fetch next from Cursor into @ID, @demoId,@demosecondId
END
Close Cursor
Deallocate Cursor
根据您的要求,如何使用简单联接?
UPDATE
Employee
SET
Employee.DesignationID = Designation.DesignationID
FROM
Employee
INNER JOIN
Designation
ON
Employee.designation= Designation.Name;