觸發器—一個表插入資料時其他欄位同步自增長欄位
有這樣一個需求,表t1(id int,code int,name varchar(11)),其中id列是自增長欄位,在插入資料的同時,自動將code列同步id列
mysql觸發器:
DELIMITER $$
USE `AAA`$$
DROP TRIGGER /*!50032 IF EXISTS */ `test`$$
CREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `test` BEFORE INSERT ON `t1`
FOR EACH ROW BEGIN
SET new.code=(SELECT IF(ISNULL(id),1,id+1) FROM (SELECT MAX(id) AS id FROM t1)tmp);
END;
$$
DELIMITER ;
oracle觸發器:
create or replace trigger test
before insert on t1
for each row
declare
-- local variables here
begin
:new.code := :new.id;
end test;
這樣能實現需求,但是效率會低。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26252014/viewspace-756720/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 觸發器—一個表更新資料時同步欄位到另一個表中觸發器
- mysql資料表插入資料後,獲取自增欄位值的方法MySql
- SQL Server中根據某個欄位,ID欄位自動增長的實現SQLServer
- oracle中如何指定表欄位自增Oracle
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- Oracle 11g 向表中大欄位插入資料Oracle
- laravel sync()同步時修改中間表欄位Laravel
- SQL Server 自增欄位重置SQLServer
- 一文詳解MySQL如何同時自增自減多個欄位MySql
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- hive將查詢資料插入表中某欄位無資料Hive
- 如何插入關聯表資料,或插入資料的時候執行,根據某欄位執行一個函式函式
- [探索]在使用模型時,關於資料表欄位的一個思考?模型
- Sql查詢 一個表中某欄位的資料在另一個表中某欄位中不存在的SQL
- sqlserver查詢一個庫所有表的欄位名及欄位型別SQLServer型別
- oracle刪除表欄位和oracle表增加欄位Oracle
- oracle 修改表欄位的長度Oracle
- MySQL 更新同一個表不同欄位MySql
- Oracle varchar2型別欄位插入插入過長資料丟失問題Oracle型別
- postgresql分割槽表修改資料表欄位SQL
- oracle和mysql設定自增欄位OracleMySql
- SQL INSERT INTO 語句詳解:插入新記錄、多行插入和自增欄位SQL
- 資料庫表欄位命名規範資料庫
- 動態為10g資料庫的表新增欄位,到256個欄位,hung住了?資料庫
- mybatis自動填充時間欄位MyBatis
- ASP獲取資料庫表名,欄位名以及對欄位的一些操作 (轉)資料庫
- MySQL為欄位新增預設時間(插入時間)MySql
- mysql sql同一個欄位多個行轉成一個欄位查詢MySql
- 向資料庫中全部表中增加一個欄位的SQL資料庫SQL
- oracle 觸發器,當一個表更新或插入時將資料同步至另個庫中的某個表中Oracle觸發器
- pl/sql dev建表加欄位時建的欄位名都帶了“”SQLdev
- oracle goldengate實現欄位插入時間值OracleGo
- 模型資料追加欄位模型
- Dynamics CRM使用計算欄位自動計算兩個時間欄位的天數差
- SQL新增表欄位SQL
- mysql資料表按照某個欄位分類輸出MySql
- pydantic 欄位欄位校驗
- 查詢/刪除重複的資料(單個欄位和多個欄位條件)