Tengo la siguiente consulta que funciona bien en SQL Server:
SELECT InvoiceID, SUM(UnitPrice)
FROM Sales.InvoiceLines
GROUP BY InvoiceID
ORDER BY InvoiceID
Cuando lo pongo en un procedimiento order by
no se acepta la cláusula:
CREATE OR ALTER PROCEDURE dbo.ReportsSales
AS
SET NOCOUNT ON
BEGIN (
SELECT InvoiceID, SUM(UnitPrice)
FROM Sales.InvoiceLines
GROUP BY InvoiceID
ORDER BY InvoiceID)
END;
EXEC dbo.ReportsSales;
¿Por qué es eso y hay alguna forma recomendada de tratarlo?
Solución del problema
No debe usar corchetes alrededor de SELECT
en el procedimiento:
CREATE OR ALTER PROCEDURE dbo.ReportsSales
AS
BEGIN
SET NOCOUNT ON;
SELECT InvoiceID, SUM(UnitPrice)
FROM Sales.InvoiceLines
GROUP BY InvoiceID
ORDER BY InvoiceID;
END;
GO
-- execute it
EXEC dbo.ReportsSales;
Entonces deberías estar bien.
No hay comentarios.:
Publicar un comentario