26. 운영쿼리 - 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
31. 운영쿼리 - 더미 데이터 생성하기
31
SELECT generate_series(1, 10);
32. 운영쿼리 - 더미 데이터 생성하기
32
INSERT INTO users (id, firstname, lastname)
SELECT u.id + s id,
u.firstname || '#' || s,
u.lastname || '#' || s * 3
FROM users u,
generate_series(100, 200, 2) s;