본문 바로가기

SQL28

SQL 계층형 쿼리(Hierarchical Query) 계층형 쿼리(Hierarchical Query)는 오라클에서만 지원하고 있는 아주 막강한 기능 중의 하나다. 관계형(relational)이라는 의미가 서로 평등하고 수평적인 관계를 의미하는 반면 계층형(hirearchical) 구조는 이와는 다르게 평등한 관계가 아닌 계급적이고 수직적인 관계를 가진다. 한마디로 말해서 관게형이 평면적이라 한다면 계층형은 수직적 구조라 할수있다. 계층형 정보에는 사회적인 의미의 계급구조, 등이 있고 소프트웨어 관점에서 살펴보면, 웹사이트에서 사용하는 답변형 게시판이나 BOM(Bill Of Material)등이 계층형 정보의 전형적인 예이다. * BOM(Bill Of Material) 이란? 하나의 완제품이 만들어지는데 필요한 구성품목들의 내역 혹은 조합도를 말함. 컴퓨터 .. 2023. 8. 10.
[SQL] 다중 INSERT sql--다중 insertINSERT ALLINTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE) VALUES('개똥이.jpg',1,sysdate)INTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE) VALUES('개똥이2.jpg',1,sysdate)INTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE) VALUES('개똥이3.jpg',1,sysdate)SELECT * FROM DUAL;COMMIT;   maper.xml에서 itemAttachVOList -->INTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE)VALUES(#{itemAttachVO.fullname},#{itemAttachVO.item.. 2023. 8. 10.
[SQL] 카멜케이스 변환 where절에 TABLE_NAME값만 카멜케이스로 뽑아오고 싶은 테이블 넣어주면된다 ORACLEcreate or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2)RETURN VARCHAR2ISRSLT VARCHAR2(30);BEGIN--카멜표기로 변환(SITE_NUM -> siteNum)SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1))|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLTFROM DUAL;--리턴RETURN RSLT;END;/--구글 카멜변환(https://heavenly-appear.tistory.com/270)SELECT COLUMN_N.. 2023. 8. 9.
sql 연습 --부모 테이블의 기본키가 자식테이블의 외래키로 전이됨 --자식테이블의 외래키가 부모테이블의 기본키를 참조함 --insert --부모테이블 -> 자식테이블(외래키데이터는 부모테이블의 기본키데이터가 있어야함) INSERT INTO BOOK_INFO(BOOK_ID, NAME, UNIT_PRICE, AUTHOR, DESCRIPTION, PUBLISHER , CATEGORY, UNITS_IN_STOCK, TOTAL_PAGES, RELEASE_DATE, CONDITION) VALUES('ISBN1234','이순신의여행',10000,'이순신','내용','삼성출판사' ,'소설',1000,100,'2023-07-12','신규도서'); INSERT INTO ATTACH(SEQ, BOOK_ID, FILENAME) VALU.. 2023. 8. 4.
참조무결성(DB삭제시 자식테이블 삭제) --참조무결성 /* 제한(RESTRICT) : 부모의 기본 데이터를 참조하고 있는 자식 테이블의 외래키가 있을 경우 해당 부모의 기본키 데이터를 삭제할 수 없음 연쇄(CASCADE) : 부모를 삭제하면 해당 기본키 데이터를 참조하고 있는 자식의 데이터도 함께 삭제됨 널값으로 처리(NULLIFY) : 부모를 삭제하면 해당 기본키 데이터를 참조하고 있는 자식의 외래키 데이터만 NULL로 변경 */ 삭제시에는~~~~~~~~~~~~~~~~~~~~~ 작업없음 = 제한 종속 삭제 = 연쇄 널 값으로 설정 = 널 설정 2023. 8. 2.
SQL JOINE 조인? 여러개의 테이블들을 하나의 테이블처럼 사용 종류? 내부조인 => ANSI표준 INNER JOIN 외부조인 => OUTER JOIN 셀프조인 => NATURAL JOIN! 조인종류 암해야함 --CORRRELATED SUBQUERY(상관관계 서브쿼리) -- BOOK_INFO테이블을 update한 후 ATTACH테이블도 update할 수 있음 한 권의 책에 첨부파일이 여러개일 경우 첫번쨰 첨부파일만 변경 --> --CORRRELATED SUBQUERY(상관관계 서브쿼리) SELECT A.SEQ , A.BOOK_ID , A.FILENAME FROM ATTACH A WHERE A.SEQ = ( SELECT MIN(B.SEQ) FROM ATTACH B WHERE B.BOOK_ID = A.BOOK_ID --*.. 2023. 8. 1.