问题描述
我尝试创建函数以通过电话号码(varchar)获取公司 ID
CREATE OR REPLACE FUNCTION getIdByPhone (cp CHAR(255))
RETURNS INT
BEGIN
SELECT id into compid
FROM companies
WHERE comp_phone1=cp;
RETURN compid;
END;
并有错误:
Undeclared variable: compid
解决方法
错误消息试图告诉您。您需要先 declare
变量才能分配给它:
delimiter //
create function getidbyphone (cp char(255))
returns int
deterministic
begin
declare compid int;
select id into compid from companies where comp_phone1 = cp;
return compid;
end
//
delimiter;
这是一个Demo on DB Fiddle。