2011-07-22 15 views
1

私は、ストアドプロシージャを挿入していますし、コードが、私はこのエラーがSQL Serverのストアドプロシージャのエラー

**Incorrect syntax near ')'.** 

誰も私のためにそれを解決することができました

CREATE PROCEDURE CatalogGetProductsOnFrontPromo (@DescriptionLength INT, @PageNumber INT, 
               @ProductsPerPage INT, @HowManyProducts INT OUTPUT) 
AS 
-- declare a new TABLE variable 
DECLARE @Products TABLE (RowNumber INT, ProductID INT, Name NVARCHAR(50), Description NVARCHAR(MAX), 
      Price MONEY, Thumbnail NVARCHAR(50), Image NVARCHAR(50), PromoFront bit, PromoDept bit) 
-- populate the table variable with the complete list of products 
INSERT INTO @Products 
SELECT ROW NUMBER() OVER (ORDER BY Product.ProductID), ProductID, Name, 
CASE WHEN LEN(Description) <= @DescriptionLength THEN Description 
ELSE SUBSTRING(Description, 1, @DescriptionLength) + '...' END 
AS 
Description, Price, Thumbnail, Image, PromoFront, PromoDept 
FROM Product 
WHERE PromoFront = 1 
-- return the total number of products using an OUTPUT variable 
SELECT @HowManyProducts = COUNT(ProductID) FROM @Products 
-- extract the requested page of products 
SELECT ProductID, Name, Description, Price, Thumbnail, Image, PromoFront, PromoDept 
FROM @Products 
WHERE RowNumber > (@PageNumber - 1) * @ProductsPerPage 
AND RowNumber <= @PageNumber * @ProductsPerPage 

のですか?事前のおかげ代わりROW NUMBER()

答えて

11

ROW_NUMBER()(アンダースコアを見て)

+0

うわー、良いスポット。 – MatBailie

+1

+1 - 良い目! – JNK

+0

ニース!私は元のポスターがエラーで直接ダブルクリックできるはずであり、問​​題がどこにあるかに非常に近くなるはずだと付け加えます。将来のタイプミスを見つけやすくする必要があります:) – mwigdahl

関連する問題