MySQL 創建存儲過程注意項

MySQL server version for the  right syntax to use near 'IF'

MySQL server version for the right syntax to use near ''

MySQL server version for the right syntax to use near 'END IF'

MySQL server version for the right syntax to use near 'END'

語法沒問題,但執行時報莫名其妙錯誤時,分隔符的問題,mysql默認的分隔符爲“;”,而“FROM table_name”後是“;”,mysql默認SQL語句結束,所以出錯。

解決方法:要加上 DELIMITER //  ....  //

DELIMITER //
CREATE PROCEDURE thoth_mes.ADD_USER_REAL_NAME()
BEGIN
  IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS  WHERE 
            table_schema = 'test'  
            AND table_name = 'sys_user'  
            AND column_name = 'REAL_NAME') 
  THEN
     ALTER TABLE `sys_user` ADD COLUMN `REAL_NAME` VARCHAR(20) NULL COMMENT '真實姓名' AFTER `LoginName`;
  END IF;
END;
//

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章