我被告知要创建一个mysql函数,该函数在给定图片标题的情况下返回创建者的姓名。我知道这听起来很傻,我可以选择一下。
我遵循了一些教程,但没有一个对我有帮助。当我尝试创建函数时,mysql工作台显示“错误代码: 1415.不允许从函数返回结果集”
这就是我想要做的
delimiter $$
create function findObject(workName VARCHAR(45)) returns VARCHAR(250)
begin
SELECT result= ar.artistName FROM artist as ar, art_object as oa
where ar.artistCode= oa.artistCode
and oa.title= workName
group by ar.artistName ;
return result;
end$$
delimiter ;发布于 2019-05-10 08:22:41
这不是在SELECT语句中赋值变量结果的方式。您必须使用SELECT ... INTO variable。
您还需要首先声明变量。
delimiter $$
create function findObject(workName VARCHAR(45)) returns VARCHAR(250)
begin
DECLARE result VARCHAR(250);
SELECT DISTINCT ar.artistName FROM artist as ar, art_object as oa
INTO result
where ar.artistCode= oa.artistCode
and oa.title= workName;
return result;
end$$
delimiter ;SELECT result = ar.artistName将result的值与ar.artistName进行比较,并从SELECT语句返回比较结果。
https://stackoverflow.com/questions/56069007
复制相似问题