반응형

 

다음 우편번호, 주소 가져오기

 

 

create.jsp
중간에 우편번호, 상세 주소 추가

	<p>
		<input type="text" name="postNum" id="postNum" readonly placeholder="우편번호" />
		<button type="button" id="btnPost">우편번호 검색</button>
	</p>
	<p>
		<input type="text" name="empAddress" id="empAddress" placeholder="직원 주소" />
		<code><form:errors path="empAddress" /></code>
	</p>
	<p>
		<input type="text" name="empAddress2" id="empAddress2" placeholder="직원 상세 주소" />
	</p>

 

상단에 script 추가

<script src="https://ssl.daumcdn.net/dmaps/map_js_init/postcode.v2.js"></script>

 

script에 추가

$(function(){
	//다음 우편번호 검색
	$("#btnPost").on("click",function(){
		new daum.Postcode({
			//다음 창에서 검색이 완료되면 콜백함수에 의해 결과 데이터가 data 객체로 들어옴
			oncomplete:function(data) {
				$("#postNum").val(data.zonecode);
				$("input[name='empAddress']").val(data.address);
				$("#empAddress2").val(data.buildingName);
			}
		}).open();
	});
});

 

결과 화면1-1 : 우편번호 검색 클릭 시 화면

 

결과 화면1-2

 

 

 

오라클 계층형 쿼리

 

 

  • 예시1

구성도

 

 

테이블 생성 및 데이터 삽입

--계층형 쿼리 연습
CREATE TABLE BOM (
     ITEM_ID INTEGER NOT NULL, -- 품목식별자
     PARENT_ID INTEGER, -- 상위품목 식별자
     ITEM_NAME VARCHAR2(20) NOT NULL, -- 품목이름
     ITEM_QTY INTEGER, -- 품목 개수
     PRIMARY KEY (ITEM_ID)
);

INSERT INTO BOM VALUES ( 1001, NULL, '컴퓨터', 1);
INSERT INTO BOM VALUES ( 1002, 1001, '본체', 1);
INSERT INTO BOM VALUES ( 1003, 1001, '모니터', 1);
INSERT INTO BOM VALUES ( 1004, 1001, '프린터', 1);

INSERT INTO BOM VALUES ( 1005, 1002, '메인보드', 1);
INSERT INTO BOM VALUES ( 1006, 1002, '랜카드', 1);
INSERT INTO BOM VALUES ( 1007, 1002, '파워서플라이', 1);
INSERT INTO BOM VALUES ( 1008, 1005, 'CPU', 1);
INSERT INTO BOM VALUES ( 1009, 1005, 'RAM', 1);
INSERT INTO BOM VALUES ( 1010, 1005, '그래픽카드', 1);
INSERT INTO BOM VALUES ( 1011, 1005, '기타장치', 1);

 

SELECT ITEM_ID, PARENT_ID, ITEM_NAME, ITEM_QTY
FROM BOM
START WITH PARENT_ID IS NULL
CONNECT BY PRIOR ITEM_ID = PARENT_ID;

 

결과 화면2

 

--TREE JS
SELECT ITEM_ID, PARENT_ID, 
        LEVEL,
        LPAD('ㄴ',LEVEL) LVL,
        ITEM_NAME, ITEM_QTY
FROM BOM
START WITH PARENT_ID IS NULL
CONNECT BY PRIOR ITEM_ID = PARENT_ID;

 

결과 화면3

 

 

 

  • 예시2

테이블 생성 및 데이터 삽입

CREATE TABLE FREE_BOARD(
    NO NUMBER,
    TITLE VARCHAR2(90),
    WRITER VARCHAR2(60),
    P_NO NUMBER,
    CONSTRAINT PK_FB PRIMARY KEY(NO)
);

 

Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (1,'여름은 더워','홍길동',null);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (2,'맞아 더워','김철수',1);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (3,'그래서 여름이지','홍길동',1);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (5,'정말 그래','노홍철',3);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (8,'그래 정말','지상철',4);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (9,'말장난 하지마','노홍철',4);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (10,'말장난 좋은걸','지상철',4);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (6,'그러게','하정우',3);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (7,'가을아 와라','김진수',3);
Insert into FREE_BOARD (NO,TITLE,WRITER,P_NO) values (4,'그래도 여름이 좋아','박명수',1);

 

SELECT NO
    , LPAD('ㄴ',2*(LEVEL-1)) || TITLE
    , WRITER, P_NO
FROM FREE_BOARD
START WITH P_NO IS NULL
CONNECT BY PRIOR NO = P_NO;
--CONNECT BY PRIOR 자식 컬럼 = 부모 컬럼 : 부모 → 자식 순방향 전개

 

결과 화면4

 

 

반응형