我正在尝试创建我的第一个函数,它创建没有任何错误,但是,当我尝试使用它时,它给了我错误。
这是函数 -
CREATE FUNCTION isie_kontakti (condition CHAR(3))
RETURNS CHAR(100)
BEGIN
DECLARE returnthis CHAR(100);
SELECT DISTINCT Person.name, Person.lastName, Contacts.mobile, Contacts.email
FROM Person JOIN Contacts on Contacts.Person_ID = Person.ID
JOIN ParentChild on ParentChild.parentID = Person.ID
JOIN ChildGroup ON ChildGroup.Person_ID = ParentChild.childID
WHERE ChildGroup.Group_ID = 'condition' INTO returnthis;
RETURN returnthis;
END//
答案 0 :(得分:2)
您创建函数以返回char(100)
类型的单个列,但returnthis
项包含相当多的列。
您需要匹配查询和返回类型。
你如何取决于你想要实现的目标。它可能就像将select
中的列连接成一个变量一样简单,这与(由于我目前没有DBMS可用时未经测试)一致:
SELECT Person.name | ' '
| Person.lastName | ' '
| Contacts.mobile | ' '
| Contacts.email
FROM ...