打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
存储过程-例子
按条件查询数据
执行语句:call pGiftGetList(2,2,7,'id','desc'); 

 
DELIMITER $$

CREATE DEFINER=`root`@`%` PROCEDURE `pGiftGetList`(pstatus int, pageno int, pagesize int,orderby varchar(20), orderrule varchar(4))
BEGIN
declare num int ;
declare gpagesize int ;
declare gpageno int ;

set @gstatus = pstatus;-- 条件
set gpagesize = pagesize;-- 第几页
set gpageno = pageno; -- 第几项
set @gorderby = orderby; -- 排序
set @gorderrule= orderrule; -- 顺序/倒叙

set @sql_text = ' select * from carcare.T_CARCARE_GIFT where 1=1 ';
-- 判断条件是否为空
if @gstatus is not null then 
set @sql_text := concat(@sql_text,' and status = ' ,@gstatus );
SELECT count(*) into @total from carcare.T_CARCARE_GIFT where status = @gstatus;
else
SELECT count(*) into @total from carcare.T_CARCARE_GIFT;
END if;
-- 拼接排序语句
set @sql_text := concat(@sql_text, ' order by ',@gorderby );
set @total = @total;
set num = (gpageno-1)*gpagesize;
-- 判断传过来的页数是否超过数据总数.
if @total >= gpageno*gpagesize then
set @sql_text := concat(@sql_text, ' limit ',num,',',gpagesize );
else
if @total%gpagesize = 0 then
set num = ((@total/gpagesize)-1)*gpagesize;
else 
set num = floor(@total/gpagesize)*gpagesize;
end if;
set @sql_text := concat(@sql_text, ' limit ',num,',',gpagesize );
end if;

 prepare stmt from @sql_text;  -- 预处理需要执行的动态SQL,其中stmt是一个变量
 EXECUTE stmt;      -- 执行SQL语句
 deallocate prepare stmt; 

END

 
CREATE DEFINER=`root`@`%`   
@%是自己有的  不要也可以, 可以改成这样:CREATE PROCEDURE `pGiftGetList`(pstatus int)
set @gstatus = pstatus;-- 条件     @变量
不加@  需要  declare gstatus varchar();这样先声明一下
SELECT count(*) into @total from   中into @total是,就是这个sql执行的结果结果就是@total

 
添加数据
insert into carcare.T_CARCARE_GIFT (gategory,title ,imgpath,status , stock , giftintro , costscore, changecount,cdt ) values
(1,'提现到支付宝','TXnormal.png',2,100,'提现200',5000,1500,now());
insert into carcare.T_CARCARE_GIFT (gategory,title ,imgpath,status , stock , giftintro , costscore, changecount,cdt ) values
(2,'提现到支付宝','TXnormal.png',2,100,'提现200',4000,3800,now());
.....
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
VB通过ADO连接SQL数据的两种方法
Excel函数应用篇:文本类函数
MySQL 实现行转列SQL
SQL学习笔记[3]
SQL 查询语句总是先执行 SELECT?你们都错了
MySQL 实现 Ms SQL 的 sp
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服