触发器
catabig为表名
所操作的数据: 添加的数据或修改后的数据为new  删除或修改前的数据为old
触发器需要避免死循环
如 insert操作触发触发器的insert操作 依次无限循环下去导致死循环
···
mysql> delimiter //
mysql> create trigger mytrigger before update
    ->  on catabig for each row
    -> begin
    ->  set new.t=concat(new.t,old.t);
    -> end//
Query OK, 0 rows affected (0.04 sec)
mysql> delimiter ;
mysql> select * from catabig;
+—-+——+
| id | t    |
+—-+——+
|  3 | PHP  |
+—-+——+
3 rows in set (0.00 sec)
mysql> update catabig set t=’_upd’ where id=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from catabig;
+—-+———+
| id | t       |
+—-+———+
|  3 | _updPHP |
+—-+———+
3 rows in set (0.00 sec)
···
存储过程
···
delimiter //
create procedure mypro(ed int)
begin
    declare i int;  – 定义声明必须在最前面
    declare rs  int;
    set rs=0 ;
    set i=1 ;
    label1:loop
        if i<=ed	then
            set rs=i+rs;
            set i=i+1;
            ITERATE label1;  – 继续循环
        else leave label1;   – 结束循环
        end if;
    end loop label1;             – 结束循环
    select rs;      – 不允许存在return(只有function可以有return)
end  //
delimiter ;
 – 调用
mysql> call mypro(100);
+——+
| rs   |
+——+
| 5050 |
+——+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
···