CREATE OR REPLACE FUNCTION public.set_website_name(in_url text) RETURNS integer LANGUAGE plpgsql STRICT AS $$ DECLARE temp_website_id integer; temp_website_name text; BEGIN temp_website_name = get_website_name(in_url); IF temp_website_name IS NULL THEN RETURN 1; END IF; PERFORM * FROM website WHERE website.name = temp_website_name; IF NOT FOUND THEN INSERT INTO website (name) VALUES (temp_website_name); END IF; SELECT website.id INTO temp_website_id FROM website WHERE website.name = temp_website_name; UPDATE artist_website SET website_id = temp_website_id WHERE url = in_url; RETURN 0; END; $$;