[英]Can not find the Syntax 1064 Error in my store procedure using MySQL
我正在創建一個 SP,以便我可以選擇我感興趣的表的字段和第二個參數“ASC”或“DESC”,de SP 將按該字段對表進行排序,也會根據 ASC 或 DESC 對其進行排序關於第二個參數是什么。 但是我找不到語法錯誤,這是一個常規的 1064 錯誤! 我在 MySQL 工作台中運行它
DELIMITER $$
CREATE PROCEDURE `PROCEDUREUNO` (IN field VARCHAR(100),IN ordenamiento CHAR(5))
BEGIN
IF field <> ‘’ THEN
SET @orden = concat(‘ORDER BY ’, field,ordenamiento);
ELSE
SET @orden = ‘’;
END IF;
SET @clausula = concat(‘SELECT * FROM Contrataciones ’, @orden);
PREPARE runSQL FROM @clausula;
EXECUTE runSQL;
DEALLOCATE PREPARE runSQL;
END
END $$
您的存儲過程聲明中有兩個錯誤:
''
,而是使用簡單的引號''
END
關鍵字DELIMITER $$
CREATE PROCEDURE `PROCEDUREUNO` (IN field VARCHAR(100),IN ordenamiento CHAR(5))
BEGIN
IF field <> '' THEN
SET @orden = CONCAT('ORDER BY ', field,ordenamiento);
ELSE
SET @orden = '';
END IF;
SET @clausula = CONCAT('SELECT * FROM Contrataciones', @orden);
PREPARE runSQL FROM @clausula;
EXECUTE runSQL;
DEALLOCATE PREPARE runSQL;
END $$
在此處查看演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.