Estoy intentado crear un Procedimiento almacenado desde el MySQL Workbench pero este me alerta de un error en el primer SET sqlStatement (también he tenido que cambiar nvarchar(max) por nvarchar(1000)):
Código MySQL:
Ver original
Este store procedure lo voy a ejecutar desde C#.NET, por eso le tengo que pasar parámetros. Lo quiero utilizar para paginar los resultados.
Ah, y este procedure lo estoy "portando" de SQL server, donde funciona perfectamente a MySQL...pero no logro que funcione...
Os dejo aquí si quereis el original de SQL Server:
Código SQL:
Ver original
CREATE PROCEDURE spGetAllEmployee ( @startIndex INT, @pageSize INT, @sortBy nvarchar(30), @totalEmployees INT OUTPUT ) AS SET NOCOUNT ON DECLARE @sqlStatement nvarchar(MAX), @upperBound INT IF @startIndex < 1 SET @startIndex = 1 IF @pageSize < 1 SET @pageSize = 1 SET @upperBound = @startIndex + @pageSize SELECT @totalEmployees=COUNT(*) FROM Employee SET @sqlStatement = ' SELECT E.EmployeeID, E.EmployeeCode, E.Name, E.Department, E.Salary FROM ( SELECT ROW_NUMBER() OVER(ORDER BY ' + @sortBy + ') AS rowNumber, * FROM Employee ) AS E WHERE rowNumber >= ' + CONVERT(VARCHAR(9), @startIndex) + ' AND rowNumber < ' + CONVERT(VARCHAR(9), @upperBound) EXEC (@sqlStatement)
Me podeis hechar una ayudita a ver si logro solucionar este fallo?
Muchas gracias por todo y un Saludo!