DBに関する限り、私はカジュアルなユーザーです。私は基本的に非常に初歩的な自動保存機能を実行する予定の手順を作成するように任されてきました。ストアドプロシージャ 'IF'文+ヌルフィールドに基づく 'UPDATE'または 'INSERT'
NULLエントリをチェックし、IF文を使用してUPDATEを実行する必要があるかどうか、または新しいINSERTを判断する必要がないという制約がありますが、以前はストアドプロシージャを作成しました。
DB:MySQLの エディタ:MYSQLワークベンチ
ここに私の手順です:
私のMySQL WorkbenchでCREATE DEFINER=`appuser`@`15.15.15.%` PROCEDURE `test `(
id varchar(45),
q01 varchar(2),
a01 varchar(45),
…
q06 varchar(2),
a06 varchar(45)
)
BEGIN
DECLARE _nullCheck VARCHAR(25);
SET _ nullCheck = (SELECT statement to check for null entries));
IF (_nullCheck) THEN
BEGIN
UPDATE statement
END;
ELSE
BEGIN
INSERT statement
END;
END;
、そのは、この 'END' が 'IF'
が欠落していることを私に告げますIFに関する他のスレッドを見てストアードプロシージャを構築して保存しましたこれは私が思いついたものです。
ご協力いただきありがとうございます。
EDIT補正:
CREATE DEFINER=`appuser`@`15.15.15.%` PROCEDURE `test `(
id varchar(45),
q01 varchar(2),
a01 varchar(45),
…
q06 varchar(2),
a06 varchar(45)
)
BEGIN
DECLARE _nullCheck VARCHAR(25);
SET _ nullCheck = (SELECT statement to check for null entries));
IF (_nullCheck) THEN
UPDATE statement
ELSE
INSERT statement
END IF;
END
https://dev.mysql.com/doc/refman/5.7/en/if.html –
「END IF;」がありません。 – wchiquito
ok私はストアドプロシージャの疑似コードで私のエラーを理解しましたが、今は私の問題は私の条件がすべて今起きていないことです。 – devNub