본문 바로가기

CS/SQL6

재귀 쿼리(Recursive Query) 트리 구조로 되어있는 데이터가 있다.LV1은 학교 LV2는 학년 LV3는 반 LV4에는 학생이 저장되어 있다고 하자.더보기더보기예시 데이터A학교 (LV1)1학년 (LV2)1반 (LV3)김민준 (학생)박서준 (학생)이하은 (학생)2반 (LV3)정수민 (학생)최지우 (학생)한서연 (학생)2학년 (LV2)1반 (LV3)이지훈 (학생)김예림 (학생)윤채원 (학생)2반 (LV3)박지훈 (학생)이서연 (학생)최민서 (학생)B학교 (LV1)1학년 (LV2)1반 (LV3)김지영 (학생)박재현 (학생)장윤서 (학생)만약 데이터가 변경되지 않는다면, 굳이 재귀를 사용하지 않고 SQL문을 작성해도 원하는 결과를 얻을 수 있겠지만,데이터가 변경된다면, 쿼리도 바꿔줘야 하는 귀찮음을 겪을 것이다.예를 들어 LV5에 학생의 가족.. 2025. 10. 1.
SQL 동적 쿼리(Dynamic SQL) 요구사항: YEARXX 년도 사업장별 사고 유형 건수를 보여주세요.1. 사고유형: 기준정보 테이블에서 ROOTTP = 'DSTTYP' AND CODELV = 2 AND USEYNX = 'Y' 인 조건을 만족하는 데이터2. 사업장: 사업장 테이블에서 USEYNX = 'Y'인 값3. 사고: 사고관리테이블에 저장되어 있음, COMPCD와 DOCSEQ을 primary key로 가지며 DISTYP에 사고유형 기준정보의 CODEVL(사고 유형 코드)을 저장. 핵심 제약사항1. 기준정보가 바뀌더라도 쿼리를 수정하고 싶지 않음2. 사업장이 추가, 삭제되더라도 쿼리를 수정하고 싶지 않음 Dynamic SQL 기법 선택 이유1. 사업장, 기준정보, 건수만 구해서 소스코드에서 정리하게 되면, 성능이 저하됨. 소스코드에서 반.. 2025. 10. 1.