MYSQL ได้เพิ่มขั้นตอนการจัดเก็บตั้งแต่ 5.0 เนื่องจากไม่ได้เกิดขึ้นมาเป็นเวลานานแล้ว ตอนนี้หลายคนกำลังถามว่าจะสร้างขั้นตอนการจัดเก็บ MYSQL ได้อย่างไร ฉันจะสร้างขั้นตอนนี้ตามความเข้าใจของฉัน คล้ายกับ SQL แต่มีความแตกต่างบางประการ ต่อไปนี้เป็นขั้นตอนการจัดเก็บเพจของ MYSQL ขีดจำกัดของ MYSQL ทำให้เราสะดวกยิ่งขึ้น อย่าเขียนโค้ดมากเกินไป
!
ขั้นตอนการวางหากมี `mytest`.`MyPage`$$
สร้าง DEFINER=`root`@`localhost ` PROCEDURE `MyPage`(
tableName varchar(100),
fieldsName VARCHAR(100),
pageIndex int,
pageSize int,
sortName VARCHAR(500),
strWhere varchar(500)
)
BEGIN
DECLARE fieldlist VARCHAR( 200);
if fieldsName=''||fieldsName=null แล้ว
ตั้งค่า fieldlist='*';
else
set fieldlist=fieldsName;
end if;
if strWhere=''||strWhere=null แล้ว
if sortName=''||sortName= null จากนั้น
ตั้งค่า @strSQL=concat('select ',fieldlist,' from ' , tableName,' Limit ',(pageindex-1)*pageSize,',',pageSize);
else
set @strSQL=concat('select ', fieldlist,' จาก ', tableName,' เรียงลำดับตาม ',sortName,' Limit ',(pageindex-1)*pageSize,',',pageSize);
สิ้นสุด if;
else
if sortName=''||sortName=null ให้
ตั้งค่า @strSQL=concat('select ',fieldlist,' from ' , tableName,'where ',strWhere,' Limit ',(pageindex-1)*pageSize,',',pageSize);
ตั้งค่าอื่น
@strSQL=concat(' เลือก ',fieldlist,' จาก ' , tableName,' โดยที่ ',strWhere,' เรียงลำดับตาม ',sortName,' Limit ',(pageindex-1)*pageSize,',',pageSize);
สิ้นสุด
ถ้า
;
stmt1 จาก @strSQL;
ดำเนินการ stmt1;
ยกเลิก
การจัดสรร stmt1;
DELIMITER ;$$
วิธีการเรียก Asp.net2.0 มันจะได้รับในครั้งต่อไป...
http://www.cnblogs.com/jacklong/archive/2006/09/21/511127.html