就数据库而言,我是一个临时用户。我一直负责创建程序,他们基本上将会做一个非常基本的自动保存功能。存储过程'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