这个 MySQL procedure 为何会报错

是从 oracle 的存储过程转化过来的,oracle肯定是能用的
format_phone是自定义过程(可以使用的...)

DROP PROCEDURE IF EXISTS run;

DELIMITER //

CREATE PROCEDURE run()
  BEGIN
    DECLARE phone_number VARCHAR(30);
    SET phone_number = '800';
    --   phone_number := '8006336575';
    INSERT INTO RESULT (varchar_result) VALUES(phone_number);
    format_phone(phone_number);
INSERT INTO RESULT (varchar_result) VALUES (phone_number);
COMMIT;
END;
//

DELIMITER ;
阅读 2.2k
1 个回答

解决了 改为
call format_phone(phone_number);

语法不同原因

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题