我想使用光标插入数据。
ALTER PROCEDURE [dbo].[VehBlocMajStatut]
-- Add the parameters for the stored procedure here
@NO_Veh int,
@Statut int
AS
BEGIN
DECLARE @Temp_appel int
DECLARE appel_cursor CURSOR FOR
SELECT NO_APPEL FROM ESPMEDS_LS_APPVEH WHERE NO_VEHICULE = @NO_Veh
OPEN appel_cursor;
FETCH NEXT FROM appel_cursor INTO @Temp_appel;
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO ESPMEDS_LS_APPVEH (NO_VEHICULE, NO_APPEL, STATUT, DATEVEH)
VALUES (@NO_Veh, @Temp_appel, @Statut, GETDATE())
FETCH NEXT FROM appel_cursor INTO @Temp_appel;
END
close appel_cursor
deallocate appel_cursor
END
不幸的是,它变成了无限循环。当我评论 INSERT INTO
子句时,它可以正常工作。
如何使用光标进行插入?
最佳答案
不需要光标。
INSERT INTO ESPMEDS_LS_APPVEH
(NO_VEHICULE, NO_APPEL, STATUT, DATEVEH)
SELECT @NO_Veh, NO_APPEL, @Statut, GETDATE()
FROM ESPMEDS_LS_APPVEH
WHERE NO_VEHICULE = @NO_Veh
关于sql-server-2008 - 使用 insert into 进行光标循环无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6060444/