我試圖使用mysql存儲功能。 功能:在觸發使用MySQL存儲功能
DELIMITER $$
CREATE FUNCTION ChangeHistory(newValue VARCHAR(255), oldValue VARCHAR(255), attributeName VARCHAR(255), action VARCHAR(255), entityId BIGINT(20), modifiedBy BIGINT(20)) RETURNS TINYINT(1)
NOT DETERMINISTIC
BEGIN
IF newValue != oldValue THEN
INSERT INTO ChangeHistoryPlayer
SET
action = action,
timeCreated = now(),
entityId = entityId,
modifiedBy= modifiedBy,
attributeName = attributeName,
oldValue = oldValue2,
newValue = newValue2;
END IF;
RETURN 1;
END
函數調用:
USE `XXX_admin`;
DELIMITER $$
CREATE TRIGGER `player_AUPD` AFTER UPDATE ON `player` FOR EACH ROW
BEGIN
ChangeHistory(NEW.firstName, OLD.firstName, 'firstName', 'AFTER_UPDATE', NEW.entityId, NEW.modifiedBy);
END
錯誤(changeHistoy之後和之前 「(」):
syntax error, unexpected '(' expecting ':'
爲什麼
你真的需要一個功能嗎?爲什麼不使用過程,然後'調用ChangeHistory(...);'觸發器。 – Rimas 2014-10-06 14:49:03