mysql 更新查詢,MySQL數(shù)據(jù)庫INSERTUPDATEDELETE以及REPLACE語句的用法詳解?
不知道你什么數(shù)據(jù)庫.如果是 Oracle 數(shù)據(jù)庫的話。如果要 改變 INSERT, UPDATE那么用 BEFORE FOR EACH ROW 的觸發(fā)器。通過在觸發(fā)器里面, 修改 :new 中的數(shù)據(jù), 實(shí)現(xiàn) 更改 INSERT UPDATE 的數(shù)據(jù)。
舉個(gè)例子來說,就是 插入的時(shí)候,數(shù)據(jù)是1的, 你觸發(fā)器把1修改成2,最后寫到數(shù)據(jù)庫中,結(jié)果是2。DELETE 觸發(fā)器沒法 改變, 因?yàn)閿?shù)據(jù)是刪除的。至于要 取消INSERT, UPDATE以及DELETE語句只需要在觸發(fā)器中, 拋出異常, 就會(huì)自動(dòng)導(dǎo)致事務(wù)回滾,從而取消操作。
例如在 INSERT, UPDATE以及DELETE 的觸發(fā)器中,只有這么一行-- 錯(cuò)誤代碼允許的范圍是 -20,000~20,999RAISE_APPLICATION_ERROR(-20000, '觸發(fā)器取消了操作!');那么最后對(duì)這個(gè)表的所有的 INSERT, UPDATE以及DELETE 操作,都直接因?yàn)槌鲥e(cuò),而無法更新數(shù)據(jù)庫表了。