Skip to content

Postgres Query Sample

System

correct_systax

CREATE OR REPLACE FUNCTION public.correct_systax(attr character varying, tag_attr character varying)
 RETURNS character varying
 LANGUAGE plpgsql
AS $function$
begin
    if attr like tag_attr then 
        return attr;
    else 
        return concat(attr,'>>>', tag_attr);
    end if;
END; 
$function$
;

correct_systax by list

CREATE OR REPLACE FUNCTION public.correct_systax(attr character varying, VARIADIC tag_attr character varying[])
 RETURNS character varying
 LANGUAGE plpgsql
 STRICT
AS $function$DECLARE
   l integer;
   i integer;
BEGIN
   l := array_upper(tag_attr, 1);


   FOR i IN 0 .. l loop

       if i = l then 
        return attr;       
        end if;

       if (length(attr) = length(tag_attr[l-i])) then 
            if attr like tag_attr[l-i] then 
                return attr;
            else 
                return concat(attr,'>>', tag_attr[l-i]);
            end if;
        end if;

   END LOOP;

END;$function$
;