[英]EXISTS and output parameter in stored procedure in mysql
这是我的存储过程,如果在文档详细信息中找到任何数据,则返回true,但会产生错误
“#1064-您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在第5行的'@result = true end if end'附近使用正确的语法”
create procedure abcde(out result boolean)
begin
if exists(select * from document_details)
then @result = true;
end if
end
请尽快为我提供解决方案
除了需要使用SET
将值分配给局部变量或参数这一事实外,还有其他事情值得一提
END IF
之后必须用分号 EXSITS()
返回BOOLEAN
您可以直接将其分配给OUT
参数 话虽这么说,您的存储过程可能看起来像
CREATE PROCEDURE abcde(OUT result BOOLEAN)
SET result =
(
EXISTS(SELECT *
FROM document_details)
);
注意:现在这只是一个陈述。 因此,您甚至不需要更改DELIMITER
并使用BEGIN ... END
块。
这是SQLFiddle演示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.