Mysql 存储过程示范

Mysql 存储过程示例

DELIMITER $
CREATE PROCEDURE generate_Equipment(district INT,warehouseNO VARCHAR(10) )
BEGIN
 DECLARE l_no VARCHAR(50);
 DECLARE l_address VARCHAR(20) ;
 DECLARE l_name VARCHAR(20) ;
 DECLARE l_city VARCHAR(20) DEFAULT "天津";
 DECLARE l_longitude DOUBLE;
 DECLARE l_latitude DOUBLE;
 DECLARE l_money BIGINT;
 DECLARE l_type TINYINT DEFAULT 2;
 DECLARE l_rand DOUBLE;
 DECLARE l_init LONG;
 DECLARE l_actual LONG;
 DECLARE i INT DEFAULT 0;

 WHILE i<100 DO
  SELECT longitude INTO l_longitude FROM warehouse WHERE NO=warehouseNO AND district=district;
  SELECT latitude INTO l_latitude FROM warehouse WHERE NO=warehouseNO AND district=district;
  SET l_address="address";
  SET l_name="equipment";
  SET l_rand=RAND();
  SET l_no=CONCAT('03Q',ROUND(l_rand*1000000000000));
  SET l_address=CONCAT(l_address,ROUND(l_rand*i));
  SET l_name=CONCAT(l_name,ROUND(l_rand*i));
  SET l_longitude=l_longitude+l_rand;
  SET l_latitude=l_latitude+l_rand;
  SET l_init=ROUND(l_rand*30000);
  SET l_actual=ROUND(l_rand*13000);
  INSERT INTO equipment (NO,NAME,city,district,address,longitude,latitude,init,actual,TYPE) VALUES(l_no,l_name,l_city,district,l_address,l_longitude,l_latitude,l_init,l_actual,l_type);
  SET i=i+1;
 END WHILE;
END;
$
DELIMITER ;