create trigger tr_add_part
on addProduct for insert
as 
declare @addQuantity int, @partId char(10), @addType int     -- 声明变量
select @addType = addType, @addQuantity = addQuantity, @partId = partId from inserted     -- 给变量赋值

begin
if ( @addType = 1 )           -- addType = 1, 表示入库
begin
update part 
set everyRepertory = everyRepertory + @addQuantity
where partId = @partId
end

else if ( @addType = 0 )      -- addType = 0, 表示出库
begin
update part
set everyRepertory = everyRepertory - @addQuantity
where partId = @partId
end
end
go求教一下这个sql server代码怎么转换成

解决方案 »

  1.   

    CREATE TRIGGER  AFTER INSERT ON addProduct
    FOR EACH ROW BEGIN
    if(new.addType = 1) then
    update part set everyRepertory = everyRepertory + new.addQuantity
    where partId = new.partId;
    elsif(new.addType = 0) then
    update part set everyRepertory = everyRepertory - new.addQuantity
    where partId = new.partId;
    end if;
    end;
      

  2.   

    trigger名字忘记写了 上面 改成create trigger tr_add_part on 
      

  3.   

    这个不用像sql server一样声明变量吗?
      

  4.   

    不知道你用的什么编辑器还需要定义分隔符  例如delimiter $$
    CREATE TRIGGER  tr_add_part AFTER INSERT ON addProduct
    FOR EACH ROW BEGIN
    if(new.addType = 1) then
    update part set everyRepertory = everyRepertory + new.addQuantity
    where partId = new.partId;
    elseif(new.addType = 0) then
    update part set everyRepertory = everyRepertory - new.addQuantity
    where partId = new.partId;
    end if;
    end$$如果你允许报错 请贴出报错信息