首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

求句mysql,多谢

2012-02-27 
求句mysql,谢谢示例表truck:id------start-----end------price1-------上海------北京------1112-------上

求句mysql,谢谢
示例表truck:
id------start-----end------price
1-------上海------北京------111
2-------上海------南京------222
3-------香港------深圳------333
4-------北京------上海------444

需求:
为所有没有反向数据记录,添加反向的记录,地名对调,价格不变。
不用非要一句语句完成,也可以是脚本

比如:
“1-------上海------北京------111”拥有反向数据,“4-------北京------上海------444”就不做新增
“2-------上海------南京------222”没有反向数据,就新增一条数据:“id自增-------南京------上海------222”



[解决办法]

SQL code
CREATE PROCEDURE addCity6()BEGIN    DECLARE done INT DEFAULT FALSE;    DECLARE S_START CHAR(20);    DECLARE S_END CHAR(20);    DECLARE PRICE INT;    DECLARE CUR CURSOR FOR SELECT start,price,end               FROM truck                  WHERE id NOT IN (                          select a.id from truck a, truck b where a.start=b.end and a.end = b.start);  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;  OPEN CUR;  REPEAT    FETCH CUR INTO S_START,PRICE,S_END;  IF NOT done THEN        INSERT INTO truck(start,price,end)VALUES(S_END,PRICE,S_START);        COMMIT;  END IF; UNTIL done END REPEAT; CLOSE CUR;END; 

热点排行
Bad Request.