我想更新名爲Employeekopie1
的特定表中的列。使用SQL Server 2008 R2中的遊標更新
我想更新的列是FK_Profiel
(值int
型)
我試圖把在列FK_Profiel
的值是我從遊標得到 值。遊標正在從不同表中的列中獲取值,並使用連接來獲取正確的值。
使用的select查詢的結果返回具有不同值的多行。
選擇查詢的第一個結果是114,這是正確的。問題是這個值被分配到列FK_Profiel
列中的所有字段,這不是我的意圖。
我想分配select查詢中的所有值。
的代碼如下:
DECLARE @l_profiel int;
DECLARE c1 CURSOR
FOR select p.ProfielID
from DIM_Profiel p,DIM_EmployeeKopie1 e1,employee e
where e1.EmpidOrigineel = e.emplid and e.profile_code = p.Prof_Code
for update of e1.FK_Profiel;
open c1;
FETCH NEXT FROM c1 into @l_profiel
WHILE @@FETCH_STATUS = 0
BEGIN
SET NOCOUNT ON;
UPDATE DIM_EmployeeKopie1
set FK_Profiel = @l_profiel
where current of c1
end
close c1;
deallocate c1;
請幫幫忙,THX。
好了,你打我吧。 +1。 – Lamak 2011-04-20 14:38:50
Woow thx的答案。這解決了我的問題。 – user717316 2011-04-21 07:31:59
行動中的優雅,+1 – Paceman 2016-06-08 03:39:37