MySql存储过程修改str_to_date()函数
当以下MySQL查询在终端模式下运行时,它工作正常
UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/%y');
Query OK, 75 rows affected, 2028 warnings (0.01 sec)
Rows matched: 2028 Changed: 75 Warnings: 0
然而,当放在MySQL存储过程中时,更新查询被打乱了
DELIMITER $$
CREATE PROCEDURE test_upd
BEGIN
UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/%y');
End $$
DELIMITER ;
请注意str_to_date()函数已更改,因此会产生错误。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near'BEGIN
UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/'
at line 2
是否有解决这个问题的方法
谢谢。
爱德华。
您需要一个()
和您的存储过程名称。您的过程体应该如下所示。关于创建过程的更多信息,请参考MySQL文档。
DELIMITER $$
CREATE PROCEDURE test_upd()
BEGIN
UPDATE `tt002grawdata` SET `bizdate` = str_to_date(`BusinessDate`,'%m/%d/%y');
End $$
DELIMITER ;