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;
//

 

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