循环我们要迁移和应用和PostgreSQL到MySQL。
基本上,我想循环遍历MySQL中的一个结果。(MySQL的)存储过程 - 通过结果
SELECT col1 FROM table1;
< ---(1)获取此查询的结果。
LOOP THROUGH col1Result
SELECT myCol FROM table2 WHERE thisCol = col1Result
< ---等于从前面的查询的每一个结果。
END LOOP;
我也发现了这个参考
http://dev.mysql.com/doc/refman/5.0/en/cursors.html
但是,我坚持这条线。
FETCH cur1 INTO a, b;
那岂不是得到cur1
到变量a
和b
每一个结果? 我如何确保我目前在变量a
的第一个索引上?
这里是如何的结果将在我结束使用的例子(PostgreSQL的书面)。
FOR my_record IN
SELECT DISTINCT col1
FROM table1
WHERE col2 = param1;
LOOP
SELECT DISTINCT col4
FROM table2
WHERE col3 = my_record.col1;
IF true THEN
RAISE EXCEPTION '%', 'ERROR MESSAGE' || my_record.col1;
END IF
SELECT DISTINCT col5
FROM table3
WHERE col6 = my_record.col1;
IF true THEN
RAISE EXCEPTION '%', ERROR MESSAGE' || my_record.col1;
END IF;
END LOOP;
你好Woofmeow,谢谢。我会尝试在特定链接中给出的示例。 –
您的欢迎@MichaelArdan。如果(它有帮助)把它作为正确的答案加以提升,那么它也可以帮助别人;别问更多; :) – woofmeow
你好再次Woofmeow先生。我想知道在给出的例子中'完成'是做什么的。我尝试了示例过程,最后出现错误消息:错误代码:1054.“字段列表”中未知列'已完成'。 –