Last active
April 28, 2016 07:34
-
-
Save lokori/f3b9903d5f9a562b0c248f2a2e2bfbaa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- PostgreSQL does not have merge (insert if not exists). A pattern to easily insert multiple rows of data. | |
CREATE TABLE rahoitusmuoto_tmp | |
( | |
rahoitusmuotoid INT NOT NULL , | |
rahoitusmuoto VARCHAR(80) NOT NULL | |
); | |
insert into rahoitusmuoto_tmp (rahoitusmuotoid, rahoitusmuoto) values (1, 'valtionosuus'); | |
insert into rahoitusmuoto_tmp (rahoitusmuotoid, rahoitusmuoto) values (2, 'oppisopimus'); | |
insert into rahoitusmuoto_tmp (rahoitusmuotoid, rahoitusmuoto) values (3, 'tyovoimapoliittinen'); | |
insert into rahoitusmuoto_tmp (rahoitusmuotoid, rahoitusmuoto) values (4, 'henkilostokoulutus'); | |
insert into rahoitusmuoto_tmp (rahoitusmuotoid, rahoitusmuoto) values (5, 'ei_rahoitusmuotoa'); | |
-- single statement to merge all. | |
insert into rahoitusmuoto (rahoitusmuotoid, rahoitusmuoto) | |
select rahoitusmuotoid, rahoitusmuoto from rahoitusmuoto_tmp r_tmp | |
where not exists (select 1 from rahoitusmuoto rr where rr.rahoitusmuotoid = r_tmp.rahoitusmuotoid); | |
drop table rahoitusmuoto_tmp; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment