就數據庫而言,我是一個臨時用戶。我一直負責創建程序,他們基本上將會做一個非常基本的自動保存功能。存儲過程'IF'語句+基於空字段的'UPDATE'或'INSERT'
我在之前創建了存儲過程,但沒有一個必須檢查NULL條目並使用IF語句來確定是否需要完成UPDATE或新INSERT。
DB:MySQL的 編輯:MySQL工作臺
這裏是我的方法:
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;
在我的MySQL工作臺,它告訴我,這個 'END' 是缺少一個 'IF'
我在查看其他有關IF的線程並存儲之後構建了我的存儲過程程序,這是我想出的。
預先感謝您的任何建議或幫助。
編輯矯正:
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
好吧我想出了我的存儲過程的僞代碼中的錯誤,現在我的問題是我的條件是現在沒有開火。 – devNub