8.2에서는 눈에 띄는 것이
새롭게 생긴 SQL 구문들입니다.
서버의 관리 차원이나, 서버의 성능 보다, 확실히 나아진 쿼리들이 제법 있습니다.
그 첫번째가,
DROP 명령에 쓰이는 IF EXISTS 기능입니다.
없어서 많이 불편했었죠. 이제, 테이블이 있는지 조회하고, 있다면 삭제하는 분편함이 없을 것 같네요.
거의 모든 객체의 DROP에서 다 사용되는 기능입니다.
두번째가,
INSERT/UPDATE/DELETE 구문 뒤에, RETRUNING ... 기능입니다.
가장 단순하게,
게시판 프로그램에서 게시물을 읽을 때, 일단 조회수를 하나 증가 시키고,
게시물 내용을 가져오죠.
이 두 가지 작업을 하나의 쿼리로 할 수 있습니다.
update board set read_count = read_count + 1 where id = 2000 RETURNING *
실무에서는 plpgsql 작업에서 아주 편해 졌습니다.
세번째는
VAULES 명령이 생겼습니다.
MySQL 쪽에서는 오래전부터 지원된 기능이어서 MySQL 사용자들에게는 꽤나 불편했던 부분을 해소했습니다.
이 부분에 대한 이야기는 따로 다룰 만큼 방대한 양인지라,
여기서는 소개만 합니다.
단순하게 여러개의 row를 하나의 쿼리로 insert 할 수 있다는 것으로 이해하기에는 보다 많은 기능을 제공합니다.
왜냐하면, values 자체가 이제는 명령어 뒤에 오는 예약어가 아니라, 명령어 자체로 쓰이기 때문입니다.
사용자 설명서를 참고하면 자세한 예문이 있으니, 궁금하신 분은 참조 하시고.
---------
틈나는 대로 이 구문들에 대한 실무 이야기를 올려 보죠.
언제가 될지는 모르겠지만. ^^
|