我试图使用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