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 ;

Mysql 存储过程示例

时间: 2024-12-10 04:22:20

Mysql 存储过程示例的相关文章

mysql 存储过程 示例代码

drop procedure if exists P_SEQUENCE; /** 暂省略包 @AUTO LIANGRUI 2014/6/27 T_PRO_PRODUCT 表 排序 对整个表进行按序号排序 根据序号从新自然排序 重复序号的安创建日期分配序号 测试阶段 测试调用 set @merid='TEST66'; call P_SEQUENCE(@merid); **/ create procedure P_PRODUCT_SEQUENCE( in v_merchar_id VARCHAR(1

一点示例明白mysql存储过程

</pre></div><div style="font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; line-height: 21px;">

mysql存储过程之异常处理篇

mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现 语法如下: DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement handler_type: CONTINUE | EXIT condition_value: SQLSTATE [VALUE] sqlstate_value | condition_name | SQLWARNING | NOT FOUND | SQLEXCEPT

MySQL存储过程之细节

1. ALTER and DROP 1 ALTER PROCEDURE p6 COMMENT 'Unfinished' // 2 DROP PROCEDURE p6 // 2. 与Oracle / SQL Server / DB2 / ANSI比较 1) 与Oracle比较 1> 摘要: a. Oracle允许在打开后再声明;MySQL必须在开始的时候使用 b. Oracle允许"CURSOR cursorname IS"这样的声明方式;MySQL必须使用"DECLAR

MySQL 存储过程实例

文件:MySQL存储过程.rar大小:467KB下载:下载MySQL 5.0以后的版本开始支持存储过程,存储过程具有一致性.高效性.安全性和体系结构等特点,本节通过具体的实例讲解PHP是如何操纵MySQL存储过程的.实例说明 为了保证数据的完整性.一致性,提高应用的性能,常采用存储过程技术.MySQL 5.0之前的版本并不支持存储过程,随着MySQL技术的日趋完善,存储过程将在以后的项目中得到广泛的应用.本实例将介绍在MySQL 5.0以后的版本中创建存储过程.技术要点 一个存储过程包括名字.参

mybatis调用mysql存储过程返回多结果集(完整)

最近,有个开发提了个需求,希望中间件支持调用mysql存储过程时支持多结果集返回,因为某些原因我们使用了不少的存储过程,很多复杂的逻辑目前来看交互非常的多,所以从当前的现状来说,这个需求还是蛮合理的.中午抽空特地搜了下,整合完整示例如下: 1.创建测试存储过程 delimiter $$ CREATE PROCEDURE sp_multi_resultset(IN p_operator_company_no int, IN p_operator_no int, OUT p_error_code v

mysql存储过程和触发器的应用

***********[mysql 存储过程和触发器 -- 别安驹]********************* 1.什么情况下使用存储过程? 完成一些比较麻烦的逻辑,比如多表在mysql端的cpu很空闲的情况下,用存储过程是不错的选择, 1.1.简单的存储过程示例:简单写入 DELIMITER $$ USE `curl_test`$$ DROP PROCEDURE IF EXISTS `data_s`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `

JDBC使用MySQL存储过程错误

JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, 执行存储过程时,出现如下错误: java.sql.SQLException: User does not have access to metadata required to determine st

mysql存储过程开荒

存储过程可以一次执行多条语句,处理复杂的业务逻辑,完成一些计算. 这篇博客总结一下mysql中存储过程基本的用法--mysql存储过程开荒. 注意下面的示例可以在mysql管理工具中(我用的navicat)直接运行,如果要在mysql客户端(dos窗口)需要加 delimiter$$ 分隔符. 首先来看第一个例子: 这个存储过程有两个int类型的输入参数,一个varchar类型的输出参数 在begin和end之前执行数据库操作或是计算, 用declare声明了一个int类型的变量, 后面是一个i