请教pl⼀pgsql的 IF 语句的疑问

2025-03-22 16:42:56
推荐回答(1个)
回答1:

哪方面的问题呢

给你个代码参考一下

create function  change_p(char(8),char(6))         returns  text  as         
$
declare  
         f_name alias for  $1;
         f_prov alias for  $2;
         f_rec  record;
         message  text; 
         temp text;        
begin
        temp:=cast(length(f_prov) as text);
        if length(f_prov)!=0 then  --当第二个参数为非空字符串时         
                select * into  f_rec  from friend  where name=f_name;         
                if not  found then
                        insert  into  friend  (name,prov)  values (f_name,f_prov); 
                        message:='数据插入成功' ||  temp;
                        return  message;
                else update friend  set prov=f_prov where name=f_name;
                        message:='省市名更新成功'||  temp;
                        return  message;
                end if;
        else select * into f_rec  from friend where name=f_name;
                if found then                                  
                        delete from friend where name=f_name;
                        message:='数据删除成功'|| temp; 
                        return message; 
                else  
                        message:='没有找到指定人'|| temp ; 
                        return  message;         
                end if;                 
        end if;
end;
$
language 'plpgsql';