diff --git a/Functions/get_adr_id_b_pg_varchar__varchar_.txt b/Functions/get_adr_id_b_pg_varchar__varchar_.txt new file mode 100644 index 0000000000000000000000000000000000000000..0bd3db8683b688a7c2c88f6ceeda341884dc0816 --- /dev/null +++ b/Functions/get_adr_id_b_pg_varchar__varchar_.txt @@ -0,0 +1,30 @@ +-- DROP FUNCTION schema_xyz.get_adr_id_b_pg(varchar, varchar); + +CREATE OR REPLACE FUNCTION schema_xyz.get_adr_id_b_pg(address_full_in character varying, city_in character varying) + RETURNS bigint + LANGUAGE plpgsql +AS $function$ + +DECLARE +/* +Returns an adr_id value for an address based on the result_II table (which must contain address_full, city and adr_id). +*/ +DECLARE + +ergebnis bigint; + +BEGIN + + +select /*+ parallel(auto) */ distinct(adr_id) into ergebnis +from schema_xyz.result_II a +join schema_xyz.result_I b +on a.address_full=b.address_full and coalesce(a.city,'0')=coalesce(b.city,'0') +where b.address_full_original=address_full_in and coalesce(b.city_original,'0')=coalesce(city_in,'0'); + +return ergebnis; + + +END; +$function$ +;