Mysql5.0 中的存储过程和触发器

mysql终于支持存储过程和触发器了。研究了一段时间,发现和sqlserver有不少地方不同,总结了一下,写了几个例子。

drop trigger  if exists distribute_car_location;
DELIMITER;
create trigger distribute_car_location  before insert on parking_ground
for each row
begin
        declare code char(10); 
 declare number int;
 declare  x int;
 set code:=new.parking_code;
 set number:=new.number;
 set x:=0;
 while number>x do
  begin
   set x:=x+1;
   insert into location_for_car(parking_code,car_location_number) values(code,x);
  end;
 end while;
end;
insert into parking_ground(city_code,parking_name,number,money,parking_code) values ('BJ','海淀停车场',5,1.5,'BJ0004');

drop procedure if exists add_car_location;
create procedure add_car_location(p int)
begin
 declare code char(10);
 declare num int;
 declare  x int;
 set code:=(select parking_code  from parking_ground where id=p);
 set num:=(select number  from parking_ground  where id=p);
 set x:=0;
 while num>x do
  begin
   set x:=x+1;
   insert into location_for_car(parking_code,car_location_number) values(code,x);
  end;
 end while;
end

你可能感兴趣的:(mysql)