十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇主要参考mysql手册
成都创新互联公司从2013年开始,是专业互联网技术服务公司,拥有项目网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元上城做网站,已为上家服务,为上城各地企业和个人服务,联系电话:13518219792
光标必须在声明处理程序之前被声明,并且变量和条件必须在声明光标或处理程序之前被声明。
声明光标
DECLARE cursor_name CURSOR FOR select_statement这个语句声明一个光标。也可以在子程序中定义多个光标,但是一个块中的每一个光标必须有唯一的名字。
SELECT语句不能有INTO子句。
open光标
OPEN cursor_name
这个语句打开先前声明的光标。
fetch光标
FETCH cursor_name INTO var_name [, var_name] ...
这个语句用指定的打开光标读取下一行(如果有下一行的话),并且前进光标指针。
close光标
CLOSE cursor_name
这个语句关闭先前打开的光标。
如果未被明确地关闭,光标在它被声明的复合语句的末尾被关闭。
示例:
Sql代码 收藏代码
CREATE PROCEDURE curdemo()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a CHAR(16);
DECLARE b,c INT;
DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;DECLARE cur2 CURSOR FOR SELECT i FROM test.t2;DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;OPEN cur1;
OPEN cur2;
REPEAT
FETCH cur1 INTO a, b;
FETCH cur2 INTO c;
IF NOT done THEN
IF b c THEN
INSERT INTO test.t3 VALUES (a,b);
ELSE
INSERT INTO test.t3 VALUES (a,c);
END IF;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
CLOSE cur2;
END
mysql光标变成横线解决方法为按下insert键。根据查询相关公开信息,在MySQL中,使用关键字FETCH来使用光标,基本语法如下:光标的声明、open、fetch、close。
有人把简单问题解释的那么复杂,楼主只是问密码修改无效,用不着这么长的解释吧....
楼主修改密码后重启数据库了吗?
或者修改密码后刷一下权限:Flush privileges
年年顺景则源广 岁岁平安福寿多 吉星高照