2016-12-15 8 views
0

Bank_AdminスキーマのAccountテーブルに簡単なプロシージャを追加したかっただけです。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

あなたが開始する前にASが必要です。 – scsimon

答えて

0

私はNetBeansでSQLストアドプロシージャを定義することと同じであると仮定しています:

しかし、私はこのエラーを取得していますSQLステートメントとして直接行うようにします。その場合...

INキーワードは有効ではないと思われます。出力パラメータとして指定されていない限り、すべてのパラメータは入力パラメータと見なされます。

scsimonが指摘するとおり、BEGINの前にASも必要です。

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 
関連する問題