Я хочу создать процедуру, которая показывает мне продукты с 20% скидкой с помощью курсора. .? После компиляции кода ниже я получаю сообщение об ошибке «Ошибка синтаксиса около„FROM“линии 14. Я использую Sybase Может кто-нибудь помочь мне с этим Вот мой код:Курсор «fetch next from» - ошибка синтаксиса рядом с
CREATE PROCEDURE "ProduktyPoZnizce20procent2"(/* @parameter_name parameter_type [= default_value] [OUTPUT], ... */)
AS
BEGIN
declare @IDPR INTEGER
declare @typ VARCHAR(30)
declare @model varchar(30)
declare @cena float
DECLARE ProductCursor CURSOR FOR
SELECT IDProduct from Product
Open ProductCursor
FETCH NEXT FROM ProductCursor
INTO @IDPR
while(@@FETCH_STATUS = 0)
BEGIN
select @typ = Product.product_type, @model=Product.name, @cena = Product.price * 0.8
from Product
where @IDPR = Product.IDProduct
print(cast(@typ as nvarchar(30)) + ' ' + cast(@model as nvarchar(30)) + ' = ' + cast(@cena as varchar(10)))
FETCH NEXT FROM ProductCursor INTO @IDPR
END
close ProductCursor
DEALLOCATE CURSOR ProductCursor
END
Почему бы использовать курсор для этого? И вы также написали бесконечный цикл, но это, казалось бы, другое дело. –
«Я использую Sybase», в то время как на ваш вопрос помечен SQL Server. –
Потому что я должен использовать курсор для чего-то (это мой спрос на проект), и я не нашел что-то лучше. Почему существует бесконечный цикл? – Pawel