Mysql

MySQL 儲存過程中的語法錯誤

  • July 19, 2013

我在執行 SQL 儲存過程時遇到了問題,我收到錯誤消息,因為在我的語句中顯示語法錯誤,但我找不到,

儲存過程




---



-- 正常 DDL
-- 注意:常式正文前後的註釋不會被伺服器儲存





---



分隔符 $$



創建過程`enterprisedb`。`orderstatus` 



(
在 inmode varchar(27) 中,
IN OrderStatus_id int,
IN Status_comments varchar(255),
在 CreatedOn 日期時間,
IN CreatedBy varchar(255),
在更新日期時間,
IN 更新由 varchar(255),
IN is_active 位
)



開始



/*insert*/
if inmode   =   'insert'
then
   insert into orderstatus
   (OrderStatus_id, OrderStatus, Status_comments, CreatedOn, CreatedBy, UpdatedOn, UpdatedBy, is_active)
   values
   (OrderStatus_id, OrderStatus, Status_comments, CreatedOn, CreatedBy, UpdatedOn, UpdatedBy, is_active);
end if;

/*update*/
if inmode   =   'update'
then
   update orderstatus ods
   set
   ods.OrderStatus         =   OrderStatus,
   ods.Status_comments     =   Status_comments,
   ods.CreatedOn           =   CreatedOn,
   ods.CreatedBy           =   CreatedBy,
   ods.UpdatedOn           =   UpdatedOn,
   ods.UpdatedBy           =   UpdatedBy,
   ods.is_active           =   is_active
   where
   ods.OrderStatus_id      =   OrderStatus_id;

/*delete*/
if inmode   =   'delete'
then
   update orderstatus ods
   set
   ods.is_active           =   0
   where
   ods.OrderStatu_id       =   OrderStatus_id;
end if;

/*select*/
if inmode   =   'select'
then
   select * from orderstatus ods
   where
   ods.OrderStatus_id      =   OrderStatus_id;
end if; END

它顯示以下消息,我找不到錯誤。

在此處輸入圖像描述

  1. 我可以點擊是按鈕並繼續執行程序嗎?
  2. 它會引起任何問題嗎?
  3. 如何解決這個問題?a A 歡迎提出任何建議、答案和意見。

提前致謝。

您是否可能錯過了“如果結束”;來自“if inmode = ‘delete’”語句?

引用自:https://dba.stackexchange.com/questions/46656