2014-03-19 157 views
0
create procedure insert_income(@title varchar(45),@category varchar(45),@amount float,@date `datetime,@type varchar(45)) 
as 
begin 
    declare @id int(11) 
    declare @bal int(11) 
    set @id= select max(id) from income; 
    set @bal=select balance from income where [email protected]; 
    if(@category='INCOME') 
    begin 
     set @[email protected][email protected] 
     insert into income values(@title,@date,@category,@amount,@bal,@type) 
    end 
    else 
    begin 
     if(@category='EXPENSES') 
     begin 
     set @[email protected]@amount 
     insert into income values(@title,@date,@category,@amount,@bal,@type) 
     end 
    end 
    end 

我写的程序的Microsoft SQL Server 2008现在我需要在MYSQL写这篇存储过程与参数在mysql中

+1

你尝试在'MySQL'?你有错误?张贴他们也是。 –

回答

0

更改建议:相同的导出到MySQL数据库

  • 当您有多个语句作为已存储的 过程的一部分执行时,请定义一个自定义delimiter,如delimiter //,以便发动机赢得 当它发现默认的 语句结束符;时,不会执行语句。
  • 删除程序的输入参数的@限定符。
  • 所有代码正文必须包含在begin - end区块中。如果可执行语句的数量是单一的,则可以选择 。
  • 每个可执行语句必须设置以默认语句结束 终止符,;
  • 全部if条件必须具有then条款后的条件。
  • else ifelseif是不同的。对于每个额外的if也 应以end if;结束。
  • 所有if块必须以end if;
  • 阻止或特定begin范围结束 - 除非范围 变量要在代码块声明end是可选的。
  • 现在将delimiter重设为其默认值delimiter ;

参考