Trying to create the following routine in MySQL Workbench yields a “This object’s DDL statement contains syntax errors. Are you sure you want to apply the DDL statement unchanged?”:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE PROCEDURE `dbName`.`testFunc` ()
BEGIN
SET i = CAST(100 AS DOUBLE);
END
Any ideas?
This does the same thing:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE PROCEDURE `rateGenius`.`testFunc` ()
BEGIN
SET i = CONVERT(100, DOUBLE);
END
You need to declare i in your stored procedure.
Not sure what you’re actually trying to do with this stored proc though. Your
CAST/CONVERTis unecessary in this case but your syntax for those functions is in fact correct.