1. 程式人生 > >MySQL存儲過程(帶輸入參數)實例

MySQL存儲過程(帶輸入參數)實例

integer cit value where ont ice 過程 mysql存儲 auto

技術分享圖片

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, 廣州 );

MySQL存儲過程(帶輸入參數)實例