300个吉祥公司取名大全,搜索引擎优化seo网站,重庆网站公司设计,制作个人网站主页满意答案xuyingcxm2015.02.03采纳率#xff1a;45% 等级#xff1a;12已帮助#xff1a;7182人1、 无返回结果语句#xff0c;如#xff1a;INSERT,UPDATE,DROP, DELETE等2、 select语句返回单行变量并可传给本地变量(select ..into)3、 返回多行结果集的select语句,并…满意答案xuyingcxm2015.02.03采纳率45% 等级12已帮助7182人1、 无返回结果语句如INSERT,UPDATE,DROP, DELETE等2、 select语句返回单行变量并可传给本地变量(select ..into)3、 返回多行结果集的select语句,并可使用MySQL游标循环处理注意存储过程返回的多行结果集可以被客户端程序(如php)所接收,但要在一个存储过程中接收另一个存储过程的结果集是不可能的一般解决办法是存入临时表供其它过程共用4、 prepare语句以下主要讲述游标及prepare部分游标定义DECLARE cursor_name CURSOR FOR SELECT_statement;游标操作OPEN 打开游标OPEN cursor_name;FETCH 获取游标当前指针的记录并传给指定变量列表,注意变量数必须与MySQL游标返回的字段数一致,要获得多行数据使用循环语句去执行FETCHFETCH cursor_name INTO variable list;CLOSE关闭游标CLOSE cursor_name ;注意:MySQL的游标是向前只读的,也就是说你只能顺序地从开始往后读取结果集不能从后往前也不能直接跳到中间的记录.一个完整的例子:定义本地变量DECLARE o varchar(128);定义游标DECLARE ordernumbers CURSORFORSELECT callee_name FROM account_tbl where acct_timeduration10800;DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments1;SET no_more_departments0;打开游标OPEN ordernumbers;循环所有的行REPEAT-- Get order numberFETCH ordernumbers INTO o;update account set allMoneyallMoneyallMoney72,lastMonthConsumelastMonthConsumelastMonthConsume-72 where NumTgo;循环结束UNTIL no_more_departmentsEND REPEAT;关闭游标CLOSE ordernumbers;DELIMITER $$USE kubauser$$DROP PROCEDURE IF EXISTS cursortest$$CREATE DEFINERcoo8new% PROCEDURE cursortest(OUT a VARCHAR(50),OUT b VARCHAR(50))BEGINDECLARE _outuserid VARCHAR(50);DECLARE _kubauserid VARCHAR(50);DECLARE flag INT;DECLARE update_cursor CURSORFORSELECT outuserid,kubauserid FROM ecuser_cooperationuser;DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag1;SET flag0;OPEN update_cursor;REPEAT /*循环*/FETCH update_cursor INTO _outuserid,_kubauserid;SET a_outuserid;SET b_kubauserid;/*update set where*/UNTIL flagEND REPEAT;CLOSE update_cursor ;END$$DELIMITER ;转载仅供参考。00分享举报