an aspiring DBA Here.
I'm trying to create a stored procedure for a query I'm running. It is a memsql server which is MySQL based. The procedure is as such:
delimiter //
CREATE PROCEDURE calc_campaign (IN usr VARCHAR(38))
BEGIN
Awesome SELECT statement that uses a variable
END //
The error description is:
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 'IN usr VARCHAR(38)) BEGIN my_statement; END'
at line 1
The syntax I used seems to correspond with this:
https://dev.mysql.com/doc/refman/8.0/en/create-procedure.html
And with pretty much every other procedure I saw on Stack forums.
What is it I'm missing here? Thanks for any help!
Best Answer
MemSQL is not MySQL - see e.g. their page MySQL Features Unsupported in MemSQL. For details on their stored procedure implementation, please refer to MemSQL's documentation on stored procedures:
As you can see, there is apparently no support for declaring parameters as
IN
,OUT
, orINOUT
. (They do however support default values for parameters, something which neither MySQL nor MariaDB support!)