注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

淘尽网 官方博客

淘尽网http://www.tao3w.com做最好的比价网站

 
 
 

日志

 
 
关于我

淘尽网 http://www.tao3w.com 做最好的比价网站,做最好的数据抓取专家。

网易考拉推荐

http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html  

2015-04-20 20:40:20|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html
存储过程的例子
http://www.cnblogs.com/peaceli/p/MYSQL.html

现在附上Mysql下增加节点的存储过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `add`(in newNodeNameStr varchar(100) , in nameCrcNum bigint,out totalNum int)
begin
        DECLARE autocommit INT(11) DEFAULT 0;

    DECLARE nameStr VARCHAR(100);#节点名字
    DECLARE tableStr VARCHAR(20);#表名
    DECLARE rgtNum INT(11);#节点右边数字
    declare err int default 0;
    /*如果出现sql异常,则将err设置为1后继续执行后面的操作 */
    declare continue handler for sqlexception set err=1; -- 出错处理
    set autocommit = 0;
   
    select count(*), name,rgt into totalNum , nameStr,rgtNum from yourphp_schema where namecrc = nameCrcNum;
    if totalNum > 0 THEN
        select totalNum;
        select nameStr;
        BEGIN
                    update yourphp_schema set rgt=rgt+2 where rgt>=rgtNum;
            update yourphp_schema set lft=lft+2 where lft>=rgtNum;
            insert into yourphp_schema(name,lft,rgt) values(newNodeNameStr,rgtNum,rgtNum+1);

                        if err=1 then 
                ROLLBACK;
            ELSE
                COMMIT;
            end if;

        END;
    END IF;  
end
  评论这张
 
阅读(70)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017