2014-01-07 28 views
-1

您好,正在制定從總量中扣除通過數量的程序。程序不能在mysql中工作

現在我已經採取靜態數據意味着我沒有通過程序的任何參數值。

但是代碼沒有扣除或更新數量的數據。

以下是我的代碼:

DELIMITER $$ 

CREATE PROCEDURE `new_procedure1`() 
BEGIN 
    update product_master set prod_qty = (prod_qty - 10) 
    where prod_id = 3; 
END 
+0

你叫程序後提交你的修改? –

+0

@a_horse_with_no_name - 先生我有一個查詢,請參閱我已添加的答案的第二條評論,您會看一下嗎?我需要幫助。 –

回答

1

好傢伙,它爲我工作。

DELIMITER $$ 

CREATE 

    PROCEDURE `new_procedure1`(IN pid INT(10)) 

    BEGIN 
    UPDATE product_master SET prod_qty = (prod_qty - 10) WHERE prod_id = pid; 
    END$$ 

DELIMITER ; 

CALL new_procedure1(1); 
+0

哦實際上我很想用表名添加我的數據庫名稱,我使用其他數據庫作爲默認值,現在我正在處理其他數據庫。非常感謝。 –

+0

先生,我想在這個方法調用之前放置觸發器,那我該怎麼做?如果觸發驗證通過,則只有方法調用纔會顯示一些錯誤消息。我想檢查一下,假設總數量是40,訂單數量是5,那麼程序就不應該被調用。可能嗎 ? –

+0

向此發佈新問題。 – Gadonski