PostgreSQL:InsertInto
Insert into if not exists
쿼리 결과가 없을 경우 INSERT 하는 방법:
INSERT INTO users (full_name, login, password)
SELECT 'Mahbub Tito','tito',SHA1('12345') FROM DUAL
WHERE NOT EXISTS
(SELECT login FROM users WHERE login='tito');
UPSERT
이미 존재하는 경우 레코드를 업데이트하거나없는 경우 새 레코드를 삽입하는 것. 형태는 다음과 같다:
샘플 예제:
INSERT
INTO
CUSTOMERS(NAME,
EMAIL)
VALUES ('MICROSOFT',
'[email protected]') ON
CONFLICT (NAME) DO
UPDATE
SET
EMAIL = EXCLUDED.EMAIL || ';' || CUSTOMERS.EMAIL;
COMMIT;