这可能是一个愚蠢的语法错误,但我只是继续阅读我的过程,但无法弄清楚我的错误在哪里。
消息156,级别15,状态1,第41行 关键字“ FOR”附近的语法错误。
这是我的代码:
alter procedure LockReservation as DECLARE @edition_id tinyint, @stockid tinyint; DECLARE @creservation CURSOR FOR select edition_id from reservation where (date_fin - GETUTCDATE()) <= 12; open creservation; while @@fetch_status = 0 BEGIN fetch creservation into @edition_id; DECLARE @cstock CURSOR FOR select id from stock where edition_id = @edition_id; open cstock; while @@fetch_status = 0 BEGIN fetch cstock into @stockid; select stock_id from location where location.stock_id = @stockid and archivage = 0 if @@rowcount = 0 BEGIN insert into stocks_reserves(id, date_ajout, usure, suppression, edition_id) Select id, date_ajout, usure, suppression, edition_id from stock where stock.id = @stockid END END CLOSE cstock DEALLOCATE cstock END CLOSE creservation DEALLOCATE creservation
有人可以帮我吗?
不要在光标名称中使用@符号。