[英]Declare variable in stored procedure
我在存儲過程中聲明變量有問題。 我使用MySQL。 我的示例代碼:
CREATE PROCEDURE `name`()
BEGIN
DECLARE varname INT;
SELECT * FROM `table` INTO var;
END
MySQL返回錯誤:
錯誤1064-您的SQL語法有錯誤; 檢查與您的MariaDB服務器版本相對應的手冊以獲取在第3行的''附近使用的正確語法
var是保留關鍵字
CREATE PROCEDURE test ()
BEGIN
DECLARE var2 INT;
// Do something
END;
更新 :
我看到了錯誤的MAriaDB,在MariaDB中聲明變量的正確方法是
SET @var = 0;
您應該使用正確的關鍵字標記問題
如果過程中有多個語句,則必須更改定界符。 否則,MySQL認為在第一條語句之后完成了過程聲明。
這是一個有效的示例。 順便說一句, var
不是其他人試圖告訴您的保留關鍵字。
DELIMITER $$
CREATE PROCEDURE test ()
BEGIN
DECLARE var INT;
SELECT 1 INTO var;
SELECT var;
END $$
DELIMITER ;
CALL test();
+------+
| var |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.