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