MySQL ストアド プロシージャで非常にうまくいかず、データベースにこのプロシージャを作成できません (MySQL 5.5.27)
変数宣言からの私の拒否、複数選択、そしてそうでなければ(コードエラーであることを願っています)コードを貼り付けているのはなぜだろうと思っています!
DELIMITER $$
DROP PROCEDURE IF EXISTS EditEnterprise
$$
CREATE PROCEDURE EditEnterprise(
IN pEnterpriseId VARCHAR(32),
IN pEnterpriseName VARCHAR(64)
)
/* declare the new variables */
DECLARE nEnterpriseId VARCHAR(32);
DECLARE nEnterpriseName VARCHAR(64);
/* declare the old variables */
DECLARE oEnterpriseId VARCHAR(32);
DECLARE oEnterpriseName VARCHAR(64);
BEGIN
SET autocommit = 0;
/* get the old variables */
SELECT
Enterprise_ID = oEnterpriseId,
Enterprise_Name = oEnterpriseName
FROM
enterprise
WHERE
Enterprise_ID = pEnterpriseId;
/* set the variables with the new inputs */
IF pEnterpriseName = NULL
SET nEnterpriseName = oEnterpriseName
ELSE IF pEnterpriseName = ''
SET oEnterpriseName = NULL
ELSE
SET nEnterpriseName = pEnterpriseName
UPDATE enterprise
SET
Enterprise_Name = nEnterpriseName
WHERE Enterprise_ID = pEnterpriseId;
COMMIT;
END $$
DELIMITER ;