創(chuàng)建存儲過程

創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
mysql delimiter $ -- delimiter $是設(shè)置 $為命令終止符號,代替默認(rèn)的分號,因?yàn)榉痔栍衅渌锰?
mysql create procedure sp_test(IN pi_id int, OUT po_name varchar(10))
- begin
- select * from test.tb_test;
- select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;
- end
- $
Query OK, 0 rows affected (0.00 sec)
mysql delimiter ; -- 恢復(fù)分號作為分隔終止符號
5.調(diào)用存儲過程
mysql set @po_name='';
Query OK, 0 rows affected (0.00 sec)
mysql call sp_test(1,@po_name);
CREATE
TRIGGER `入庫表` AFTER INSERT ON `入庫表`
FOR EACH ROW BEGIN
CALL MyFun(new.lsh);
END IF;
END;
然后寫一個(gè)存儲過程
DELIMITER $$
USE `yourdatabase`$$
DROP PROCEDURE IF EXISTS `MyFun`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `MyFun`(IN clsh CHAR(16))
BEGIN
DECLARE totle, num1,num2 int;
declare bh char(16);
SELECT 數(shù)量 INTO num1 FROM 入庫表 WHERE 入庫編號=clsh;
SELECT 物料編號 into bh FROM 入庫表 WHERE 入庫編號=clsh;
SELECT 數(shù)量 INTO num2 FROM 庫存表 WHERE 物料編號=bh;
set totle=num1+num2;
update 庫存表 set 數(shù)量=totle WHERE 物料編號=bh;
END$$
DELIMITER ;
大概就是這樣,里面的中文改成你對應(yīng)的表和字段,然后你可以在存儲過程里面加上異常處理,比如編號重復(fù)等。
找到庫存表,找到庫存數(shù)量的字段,用語句修改庫存數(shù)量的值即可。
如:庫存表:stock 庫存數(shù)量字段:nums
update stock set nums = nums + 1 where sku_id = 10 (修改sku_id為10的紀(jì)錄,將數(shù)量在原基礎(chǔ)上加1)
注意:1.正式數(shù)據(jù)庫不要隨意改動 2.update語句中盡量加上where條件,即便條件是where 1=1(養(yǎng)成這個(gè)習(xí)慣),有句話這樣說,update語句如果不加where條件生孩子會沒屁眼????
網(wǎng)站名稱:mysql庫存怎么寫,mysql怎么存儲的
當(dāng)前URL:http://chinadenli.net/article24/dsihhje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、微信小程序、網(wǎng)站排名、、品牌網(wǎng)站建設(shè)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)