问题
I keep getting this error for the below MySQL SP any ideas?
CREATE PROCEDURE productpricing(
OUT pl DECIMAL(8,2), OUT ph DECIMAL(8,2), OUT pa DECIMAL(8,2) ) BEGIN SELECT Min(amount) INTO pl FROM Card Error Code: 1064 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 9 0.000 sec
DROP PROCEDURE IF EXISTS productpricing;
CREATE PROCEDURE productpricing(
OUT pl DECIMAL(8,2),
OUT ph DECIMAL(8,2),
OUT pa DECIMAL(8,2)
)
BEGIN
SELECT Min(amount)
INTO pl
FROM Card;
END;
回答1:
Did you define a delimiter?
Try adding delimiter //
before the CREATE PROCEDURE
statement. Also replace END;
with END;//
. I checked and it works for me.
See the MySQL doc on stored procedures
回答2:
you need group by if you use min,max i think. if that doesnt work try #p1 to create a temp table. May be problem is the table you are inserting it to.
来源:https://stackoverflow.com/questions/6560791/what-is-wrong-with-this-stored-procedure