我是Mysql的新手。我想創建一個存儲過程來更新產品的價格。我使用jdbc來實現這個存儲過程。但是我的存儲過程命令失敗了很多次。以下是mysql代碼。 「p」表示產品,「des」表示價格下降,「pro」表示產品名稱。 Java中的CallableStatement會給出產品名稱和產品價格的下降。因此,存儲過程將降低相應產品的價格。Mysql命令無法實現存儲過程
`CREATE PROCEDURE updateP(IN pro CHAR(10), IN des INT)`
`
BEGIN`
UPDATE customers
`DECLARE p INT;`
`SET p = (SELECT price FROM customers WHERE product= pro);`
`SELECT p;`
`p = p - des;`
END
您的存儲過程沒有意義。 1.您正在從一個名爲customers的表格中選擇價格(這是否正確?)2.'p = p - des'是在'CHAR'上執行的所有操作,如果您想要減去它們,您需要使它們成爲某種類型的數值。 3.我假設你想在某個時候更新一個表,並且我沒有在任何地方看到任何'update'語句。請澄清一點你的目標。 – Icarus
Thx回覆。顧客是桌子,價格是它的屬性。 – user1015798