在我的模式中,我有很多需要填寫的常用字段的表格。這是這樣的人basicaly控制字段:MySQL - 有可能調用函數來執行觸發器操作?
id_db_user
date_creation
date_last_update
我已經做了兩個觸發器來填補這一領域:
-- Trigger DDL Statements
delimiter |
CREATE TRIGGER control_insert BEFORE INSERT ON EZT_SOCIETIES
FOR EACH ROW BEGIN
SET NEW.id_db_user = current_user;
SET NEW.date_creation = current_timestamp;
END;
| delimiter ;
delimiter |
CREATE TRIGGER control_update BEFORE UPDATE ON EZT_SOCIETIES
FOR EACH ROW BEGIN
SET NEW.date_last_update = current_timestamp;
END;
| delimiter ;
我的問題是:我可以寫一些函數來調用觸發器內的操作?事情是這樣的:
function fn_control_insert
SET NEW.id_db_user = current_user;
SET NEW.date_creation = current_timestamp;
,然後調用類的觸發該功能:
delimiter |
CREATE TRIGGER control_insert BEFORE INSERT ON EZT_SOCIETIES
FOR EACH ROW BEGIN
call fn_control_insert;
END;
| delimiter ;
這可能是在MySQL做什麼?
最好的問候,
嗨米格爾,感謝您的答覆。我一直在閱讀關於這個主題。是否可以使用PROCEDURE並在AFTER INSERT/UPDATE TRIGGER中將PROCEDURE傳遞給PROCEDURE以將新值傳遞給該過程?謝謝 –
你可以,但INOUT和OUT參數不起作用,並且該過程不能用於解決MySQL對遞歸等觸發器的限制。 –