mysql 存储过程 rand_Mysql 存储过程示例

本文介绍了一个使用SQL创建的存储过程,该过程用于为指定区域内的仓库生成虚拟的设备数据。通过设定随机数和特定规则,可以批量创建包括设备编号、名称、位置等详细信息的数据记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ;

原文:http://blog.youkuaiyun.com/robinsonmhj/article/details/38340281

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值