23 lines
629 B
PL/PgSQL
23 lines
629 B
PL/PgSQL
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; |