운영쿼리 - Returning#1
UPDATE users
SET firstname = 'Rin'
WHERE lastname = 'Jin'
RETURNING *
26
UPDATE users
SET firstname = 'Rin'
WHERE lastname = 'Jin'
SELECT *
FROM users
WHERE lastname = 'Jin'
27.
운영쿼리 - Returning#2
UPDATE users t
SET firstname = 'Rin'
FROM users old
WHERE t.id = old.id AND t.lastname = 'Jin'
RETURNING t.id, old.firstname old_value, t.firstname new_value
27
28.
28
운영쿼리 - 데이터백업 후 삭제
WITH deleted AS (
DELETE FROM users
WHERE lastname = 'Kim'
RETURNING *
)
INSERT INTO users_backup
SELECT *
FROM deleted
RETURNING *
29.
변경된 데이터를 즉시눈으로 검증 가능함
만약 문제가 발생하면 준비해 둔 복원 쿼리로 백업 테이블에서 복원이 가능함
자주 변경되는 운영 테이블에 트랜잭션을 걸고 작업하지 않아도 됨
29
운영쿼리 - 데이터 백업 후 삭제
30.
운영쿼리 - 더미데이터 생성하기
30
generate_series (start T, stop T [, step T ]) " setof T