如何通过MySQL
存储过程分配Row_number
和select,我可以用MS-SQL
来完成,如下所述:
CREATE PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1
,@PageSize INT = 10
,@PageCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY [CustomerID] ASC
)AS RowNumber
INTO #Results
FROM [Customers]
END
我的问题是。。
- 如何初始化
MySQL
中的参数(例如:@PageIndex INT = 1
) MySQL
中如何实现SELECT ROW_NUMBER() OVER ( ORDER BY [CustomerID] ASC )AS RowNumber
我尝试了什么
当我喜欢这个的时候
CREATE PROCEDURE 'dbo'.'GetCustomersPageWise'(p_PageIndex INT = 1,p_PageSize INT = 10,p_PageCount INT OUTPUT)
导致错误为Incorrect syntax near =1
我也试过
选择ROW_NUMBER();(按"客户ID"ASC订购)AS行号
导致错误为脚本行:4您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,了解在"ORDER BY
product_gid
ASC"附近使用的正确语法)AS行号CCD_ 11,'在第8行
CREATE PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1
,@PageSize INT = 10
,@PageCount INT OUTPUT
AS
BEGIN
SET @ROW_NUMBER= 0;
Insert INTO Results SELECT @ROW_NUMBER:= @ROW_NUMBER+ 1
FROM Customers
END
这样你就能达到预期的效果。