2017-02-20 14 views
0

MySQLで以下の関数を実行する際に構文エラーが発生します。 #1064」次のようにストアドファンクションの作成中にMySQL構文エラーが発生する

CREATE FUNCTION FABC (P_MEMBER_EMAIL VARCHAR(30)) 
RETURNS int 
BEGIN 
DECLARE RESULT int; 
DECLARE V_DATE DATE; 
SELECT DOJ+365 INTO V_DATE FROM CHYK_MEMBER_MASTER 
WHERE UPPER(MEMBER_EMAIL)=UPPER(P_MEMBER_EMAIL) AND SUBSCRIPTION='Y'; 
IF V_DATE>SYSDATE THEN 
SET RESULT=1; 
ELSE 
SET RESULT=0; 
END IF; 
RETURN RESULT; 
END; 

誤差がある - あなたのSQL構文でエラーが発生している。ラインで 『』の近くに使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください4

ないこれを引き起こしているものを確認してください。誰も私を助けることができますか?

答えて

2

あなたは、MySQLに関数定義の終わりを告げる区切り文字を設定する必要があります。

DELIMITER $$ 
CREATE FUNCTION `FABC`(`P_MEMBER_EMAIL` VARCHAR(30)) RETURNS int(11) 
BEGIN 
DECLARE RESULT int; 
DECLARE V_DATE DATE; 
SELECT DOJ+365 INTO V_DATE FROM CHYK_MEMBER_MASTER 
WHERE UPPER(MEMBER_EMAIL)=UPPER(P_MEMBER_EMAIL) AND SUBSCRIPTION='Y'; 
IF V_DATE>SYSDATE THEN 
SET RESULT=1; 
ELSE 
SET RESULT=0; 
END IF; 
RETURN RESULT; 
END$$ 
DELIMITER ; 
+0

すっごくありがとうございました!!!! –

+0

答えを受け入れることを忘れないでください。 – Peter

関連する問題