목록전체보기 (55)
Dong Log
관계형 데이터베이스(RDB) 에서 1:M 의 관계를 가질 경우 INSERT를 여러번 해야하는 경우가 있다. 그럴때 아래와 같이 INSERT문 한줄 한줄을 수행하는것이 아닌, 하나의 INSERT 쿼리로 한번에 가능하다. - 기존 insert 1개씩 쿼리를 수행할때 INSERT INTO test_tbl(NAME) VALUES('운영자1'); INSERT INTO test_tbl(NAME) VALUES('운영자2'); INSERT INTO test_tbl(NAME) VALUES('운영자3'); .... - 한번의 INSERT 문으로 한번에 수행할때 INSERT INTO test_tbl(NAME) VALUES ('운영자5'), ('운영자6'), ('운영자7'); 간결하고 좋다!
비즈니스 로직에서 기존에 존재하는 데이터를 확인한 후에 insert 쿼리를 수행하면서 이 과정을 한 쿼리에서 진행할 수 없을까? 해서 찾아봤는데 아래와 같이 처리할 수 있었다. INSERT INTO TEST_TBL(name) SELECT 'test' FROM DUAL WHERE NOT EXISTS (SELECT name FROM TEST_TBL WHERE name='test'); 기존에 존재하는 데이터를 확인 후에 insert 쿼리를 수행한다면 비즈니스 로직과 두번의 쿼리를 수행하여 효율적이지 못하다. 따라서 이같이 쿼리도 줄이고 비즈니스 로직을 줄일수 있는 효과를 얻을 수 있다. 마지막으로 생소한 부분을 집고 넘어가자 - NOT EXISTS 예약어 : 서브쿼리에만 사용할수 있는 예약어로 단순값에 사용할..