2016-12-15 41 views
0

我只是想在Bank_Admin架構的帳戶表中添加一個簡單的過程。NetBeans IDE中的創建過程

該程序會爲賬戶持有者的現有餘額增加一定的金額。我猜,通過閱讀Sql命令,你會發現它。

但我收到此錯誤:

[Exception, Error code 30,000, SQLState 42X01] Syntax error: Encountered "BEGIN" at line 2, column 1.

Line 2, column 1 Execution finished after 0.036 s, 1 error occurred

。請幫助我這個代碼...

CREATE PROCEDURE deposit_in_bank (IN bank_account int, IN deposit_amount int) 
BEGIN 
UPDATE BANK_ADMIN.ACCOUNT SET balance = balance + deposit_amount WHERE account_no = bank_account 
END 
+2

你當你開始之前需要一個。 – scsimon

回答

0

我假設定義在NetBeans SQL存儲過程是一樣的像直接作爲SQL語句一樣。如果是這樣...

我不認爲你的IN關鍵字是有效的,所有參數都被假定爲輸入參數,除非指定爲輸出參數。

由於scsimon指出,您還需要AS之前您的BEGIN

我不認爲你實際上需要你的BEGINEND。或者你的參數的括號。

而且我不認爲你正確地寫你的參數變量(他們應該@前綴,所以下面應該工作:

CREATE PROCEDURE deposit_in_bank 
    @bank_account INT, 
    @deposit_amount INT 
AS 
    UPDATE BANK_ADMIN.ACCOUNT 
    SET balance = balance + @deposit_amount 
    WHERE account_no = @bank_account