PHPmyadminでストアドプロシージャを作成しようとしていますが、IFステートメントが気に入らないようです。誰かが私が間違ったことを特定するのを手伝ってくれませんか:
SQL:
CREATE PROCEDURE get_products_in_category(IN inCategoryID INT,
IN inShortDescriptionLength INT, IN inProductsPerPage INT, IN inStartItem INT)
BEGIN
"SELECT p.productID, p.name, IF(LENGTH(p.description) <= ?, p.description,
CONCAT(LEFT(p.description, ?), '...')) AS description, p.price, p.discounted_price,
p.thumbnail FROM tblProducts p
INNER JOIN tblProdCat pc
ON pc.productID = p.productID
WHERE tblProdCat.categoryID = ?
ORDER BY p.display DESC
LIMIT ?, ?";
SET @p1 = inShortDescriptionLength;
SET @p2 = inShortDescriptionLength;
SET @p3 = inCategoryID;
SET @p4 = inStartItem;
SET @p5 = inProductsPerPage;
END$$
次のエラーが発生します:
SQL構文にエラーがあります。3行目の「SELECTp.productID、p.name、IF(LENGTH(p.description)<=?、p.description、CONCA」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。