Reputation: 101
I created a MySQL script that creates a Stored Procedure which Inserts a new row into a table given the IN parameters of the Stored Procedure. However, when we try to run the script, this error is shown:
ERROR 1064 (42000) at line 22: 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 '' at line 3
This is basically the stored procedure in the script file:
CREATE PROCEDURE 'packagename'.`procedureName`
(IN param1 DATE,
IN param2 TIME,
IN param3 VARCHAR(45),
IN param4 VARCHAR(100))
BEGIN
INSERT INTO packagename.table (`param1`, `param2`, `param3`, `param4`)
VALUES (param1, param2, param3, param4);
END;
Any ideas?
Upvotes: 1
Views: 5321
Reputation: 263683
DELIMITER
table
in packagename.table
, escape it with backtickquery,
DELIMITER $$
CREATE PROCEDURE `packagename`.`procedureName`
(
IN param1 DATE,
IN param2 TIME,
IN param3 VARCHAR(45),
IN param4 VARCHAR(100)
)
BEGIN
INSERT INTO packagename.`table` (`param1`, `param2`, `param3`, `param4`)
VALUES (param1, param2, param3, param4);
END $$
DELIMITER ;
Upvotes: 1