我在执行的sql文件中有以下内容......
DECLARE rowcount INT;
SELECT COUNT(*) INTO rowcount
FROM VRG_PROBLEM_ACCOUNT PA
WHERE NEW.CustName = PA.CustNAME
AND NEW.AreaCode = PA.AreaCode
AND NEW.PhoneNumber = PA.PhoneNumber;
然而我正在
ERROR 1327 (42000): Undeclared variable: rowcount
在另一个文件中,我正在使用相同类型的SELECT ... INTO localvariable,它可以工作。
答案 0 :(得分:4)
局部变量只能在存储的例程中声明。你可以使用@ -variables代替它,它根本不需要声明:
SELECT COUNT(*) INTO @rowcount
FROM ...
答案 1 :(得分:0)
如何重新编写查询?
DECLARE rowcount INT;
SET rowcount = (
SELECT COUNT(*)
FROM VRG_PROBLEM_ACCOUNT PA
WHERE PA.CustNAME = NEW.CustName
AND PA.AreaCode = NEW.AreaCode
AND PA.PhoneNumber = NEW.PhoneNumber);
更新1 *
我不知道您的完整代码,但请注意,DECLARE
仅允许在BEGIN ... END
复合语句中使用,并且必须在任何其他语句之前开始。