GOOGLE ADS

martes, 3 de mayo de 2022

Orden de SQL Server por procedimiento

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 byno 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 SELECTen 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

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...