2014-03-19 208 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 ;

參考