MySQL存储过程(带输入参数)实例

DROP TABLE
IF
    EXISTS `CUSTOMERS`;
CREATE TABLE CUSTOMERS (
    `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,-- ID
    `cust_num` INT ( 11 ),-- 客户编号
    `company` VARCHAR ( 20 ),-- 公司名称
    `cust_rep` INT ( 11 ),-- 雇员
    `credit_limit` DECIMAL ( 16, 2 ),-- 信用限额
    PRIMARY KEY ( `id` )
);
DROP TABLE
IF
    EXISTS `SALESREPS`;
CREATE TABLE `SALESREPS` (
    `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,-- ID
    `quota` DECIMAL ( 16, 2 ),-- 销售目标
    `empl_num` INT ( 11 ),
    PRIMARY KEY ( `id` )
);
INSERT INTO `SALESREPS` ( ID, QUOTA, EMPL_NUM )
VALUES
    ( 1, 20000.00, 103 );
DROP TABLE
IF
    EXISTS `OFFICES`;
CREATE TABLE `OFFICES` (
    `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
    `target` DECIMAL ( 16, 2 ),
    `city` VARCHAR ( 20 ),
    PRIMARY KEY ( `id` )
);
INSERT INTO `OFFICES` ( id, target, city )
VALUES
    ( 1, 20000.00, ‘深圳‘ );
DROP PROCEDURE
IF
    EXISTS `ADD_CUST`;

DELIMITER //
CREATE PROCEDURE `ADD_CUST` (
    IN c_name VARCHAR ( 20 ),
    IN c_num INTEGER,
    IN cred_lim DECIMAL ( 16, 2 ),
    IN tgt_sls DECIMAL ( 16, 2 ),
    IN c_rep INTEGER,
    IN c_offc VARCHAR ( 20 )
    ) BEGIN
    INSERT INTO customers ( cust_num, company, cust_rep, credit_limit )
    VALUES
        ( c_num, c_name, c_rep, cred_lim );
    UPDATE salesreps
    SET quota = quota + quota + tgt_sls
    WHERE
        empl_num = c_rep;
    UPDATE offices
    SET target = target + tgt_sls
    WHERE
        city = c_offc;
    COMMIT;

END // CALL `ADD_CUST` ( ‘李四‘, 504, 200.00, 500.00, 309, ‘广州‘ );

原文地址:https://www.cnblogs.com/halo-halo/p/9026078.html

时间: 2024-10-29 20:44:13

MySQL存储过程(带输入参数)实例的相关文章

mysql存储过程语法及实例

存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程create procedure sp_name()begin.........end 二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递 三.删除存储过程1.基本语法:drop procedure sp_name// 2.注意事项(1

mysql命令常用参数实例讲解

mysql命令常用参数实例讲解 以下是mysql命令常用的参数,配合实例进行简单讲解 1,auto-rehash自动补全(表名及表中字段) --------------------------------------- [mysql] #no-auto-rehash auto-rehash --------------------------------------- mysql -u root --auto-rehash ------------------------------------

MySQL存储过程单参数或多参数传递

MySQL开发的存储过程几乎都需要参数.这些参数使存储过程更加灵活和有用. 在MySQL中,参数有三种模式:IN,OUT或INOUT. 1,单参数 in DELIMITER $$USE dc3688$$CREATE PROCEDURE GetOfficeByCountry(IN countryName VARCHAR(255))BEGINSELECT * FROM officesWHERE country = countryName;END$$ DELIMITER ; 2,多参数 (in out

mysql存储过程的参数名不要跟字段名一样 (血淋淋的代价)

如题,将会导致的结果就是参数的值将不会是你传入的值,而是变成每条记录的那个字段的值. 这样的后果,是灰常严重的.比如执行删除操作,它能把整个表的记录全删了. 这个是我的血淋淋的代价啊. 死坑如下,勿跳: [sql] view plaincopy DELIMITER $$ USE `b10k`$$ DROP PROCEDURE IF EXISTS `sp_delete_species`$$ CREATE DEFINER=`luth`@`%` PROCEDURE `sp_delete_species

MySQL 存储过程实例

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

mysql存储过程详细讲解及完整实例下载

一.存储过程概念 1.存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集.经编译后存储在数据库 中. 2.存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过 程带有参数)来执行它. 3.存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中. 4.存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量. 5.同时,存储过程可以接收和输出参数.返回执行存储过程的状态值,也可以嵌套调用.二.存储过程优

MySQL 存储过程参数用法 in, out, inout

MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 “in” 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible). drop procedure if exists pr_param_in; create procedure pr_param_in ( in id int

Mysql存储过程调用

mysql存储过程实例教程 发布时间:2014-04-09编辑:JB01 这篇文章主要介绍了mysql存储过程的使用方法,mysql存储过程实例教程,有需要的朋友参考下. 1.1create  procedure  (创建)create procedure存储过程名 (参数列表)   beginsql语句代码块end注意:由括号包围的参数列必须总是存在.如果没有参数,也该使用一个空参数列().每个参数默认都是一个in参数.要指定为其它参数,可在参数名之前使用关键词 out或inout在mysql

第12章 mysql 存储过程

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] 范德兰斯.MySQL开发者SQL权威指南 [M].北京:机械工业出版社,2008 [4] Forta.MySQL必知必会 [M].北京:人民邮电出版社,2009 [5] Chapter 20 Stored Programs and Views [6]

MySQL:MySQL 存储过程

ylbtech-MySQL:MySQL 存储过程 1.返回顶部 1. MySQL 存储过程 MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行. 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用. 优点 存储过程可封装,并隐藏复杂的商业逻辑. 存储过