CREATE OR REPLACE PROCEDURE set_artist_name(in_url text) AS $$ DECLARE temp_artist_id integer; temp_artist_name text; temp_artist artist%ROWTYPE; BEGIN temp_artist_name = get_artist_name(in_url); temp_artist_name = convert_artist_name(temp_artist_name); SELECT * INTO temp_artist FROM artist WHERE artist.name = temp_artist_name; IF NOT FOUND THEN INSERT INTO artist (name) VALUES (temp_artist_name); END IF; SELECT artist.id INTO temp_artist_id FROM artist WHERE artist.name = temp_artist_name; UPDATE artist_website SET artist_id = temp_artist_id WHERE url = in_url; END; $$ LANGUAGE plpgsql;