1. 程式人生 > >mysql簡化通用的分頁儲存過程

mysql簡化通用的分頁儲存過程

 #當前頁(起始數)  pageindex 

#每一頁顯示的記錄數(顯示數) prows 

DELIMITER $$ 

#其實就是告訴Mysql編輯器,這段命令是否可以結束,mysql是否可以執行。

預設情況下,delimiter為;號。

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/

    PROCEDURE `t204`.`pro_student`(pageindex INT,prows INT)
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN
    SET @list=CONCAT('select * from student limit ',(pageindex-1)*prows,',',prows,'');
    PREPARE s FROM @list;
    EXECUTE s;


    END$$


DELIMITER ;
#呼叫儲存過程
CALL pro_student(2,5);

其中:

  SET @list=CONCAT('select * from student limit ',(pageindex-1)*prows,',',prows,'');

CONCAT表示字串拼接,","是拼接符號

注意:limit 後面要注意空格。