2016-12-15 77 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