본문 바로가기

ora-00907 : missing right parenthesis 이거... 우괄호 내지는 콤마(,) 이런거 빠뜨린거임... 젠장 쿼리가 얼마나 긴데 ㅠ.ㅜ 이걸 어디서 찾누... 더보기
쿼리에서 간단한 FUNCTION 사용에 대한 튜닝 관점 SQLP를 공부하면서 관심을 가져보았던 대목, 현재 프로젝트에도 있고, 과거 운영하던 시스템에서도 많이 있었던 사례인데, 현재 프로젝트를 중심으로 써보자. 현재 마스터류 데이터(자재마스터, 공통코드 마스터 등등)들은 SQL FUNCTION을 만들어서 사용한다. 어디에 사용하느냐? 이런 데이터들은 보통 다음과 같은 구성을 가지는데, CODE, CODE_NAME, CODE_ETC1, CODE_ETC2, ... 화면상에서는 CODE_NAME이 보이고, 내부적으로는 CODE가 사용된다. 화면에 보여주기 위해서 CODE를 갖고 와서 CODE_NAME을 찾아야 하는데 다음과 같은 경우를 보자. TB_TABLE1 - 간략하게 다음과 같은 내용을 가짐 ID, CODE, TEXT TB_TABLE2 - 마스터 테이블 CO.. 더보기
insert, update 할때 subquery 사용시 SQL command not properly ended INSERT 의 예 INSERT INTO TB_TABLE1 (COL1, COL2, COL3) VALUES ('A', 'B', (SELECT NVL(MAX(A.COL10), 0) FROM TB_TABLE2 A) + 1 ) 위에 보다시피 INSERT 항목 중 1개의 값을 SUB QUERY로 MAX값을 물고 온 다음에 NVL로 널 체크하고 + 1을 해주는건 됌... 다만 인서트 시에 위에 빨간색 () 이게 없으면 에라... UPDATE 의 예 UPDATE TB_TABLE1 COL1 = 'A', COL2 = 'B', COL3 = (SELECT NVL(MAX(A.COL10), 0) FROM TB_TABLE2 A) + 1 WHERE ... 당연히 INSERT에 사용되었던 SUB QUERY를 그대로 썼는데 UPDAT.. 더보기