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$
;