mysql call関数&トリガ
1043 ワード
call関数
フリップフロップ
t 1 t 2の2つのテーブルがそっくりt 1のデータが変動するとt 2テーブルも変動する
? procedure
t1 10000
\d // //
mysql> create procedure p2()
begin
set @i=1;
while @i<=10000 do
insert into t1(id,name) values(@i,concat("user",@i));
set @i=@i+1;
end while;
end //
\d ;
show procedure status;
show create procedure p1\G
call p2; # p2
フリップフロップ
t 1 t 2の2つのテーブルがそっくりt 1のデータが変動するとt 2テーブルも変動する
? trigger
\d //
t1 t2
mysql> create trigger t_1 before insert on t1 for each row
begin
insert into t2(name) values(new.name);
end //
\d ;
show triggers;
\d //
mysql> create trigger d_1 before delete on t1 for each row #
-> begin
->delete from t2 where name=old.name;
-> end //
\d ;
\d //
mysql> create trigger u_1 before update on t1 for each row #gai
-> begin
-> update t2 set name=new.name where name=old.name;
-> end //
\d ;