Mysql 演示示例存储过程

时间:2022-04-14 18:14:55

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 ;

版权声明:本文博主原创文章,博客,未经同意不得转载。