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

당신은 귀하의 BEGIN 전에 필요합니다. – scsimon

답변

0

내가 넷빈즈에서 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 
관련 문제