본문 바로가기

DataBase13

패키지(Package) 패키지 패키지란 단어 뜻에서 어느정도 유추가 가능하다. 뭘 모아놓았다는 느낌인데 실제로 여러가지 뭐 다 떄려박을 수 있다. 물론 관련이 있는 것들을 한 곳에 모아야되는건 당연하다. 전문성 있게 말하자면, 논리적 연관성이 있는 PL/SQL 타입, 변수, 상수, 서브 프로그램, 커서, 예외 등의 항목을 묶어 놓은 객체이다. 패키지는 컴파일 후에 DB에 저장이 되고 다른 곳에서(다른 패키지나 프로시저, 외부 프로그램 등) 패키지의 항목을 참조, 공유, 실행할 수 있다. 그렇다면 패키지의 왜 쓸까? 패키지의 장점 패키지의 장점 4가지 정도만 정리해보자. 1. 모듈화 패키지의 가장 큰 장점이다. 업무적으로 연관성이 있는 서브 프로그램이나 변수, 상수, 커서, 사용자 정의 타입(함수, 프로시저 등)들을 하나의 패키.. 2023. 11. 3.
레코드(RECORD) 레코드(RECORD) 레코드는 PL/SQL에서 제공하는 데이터 타입 중 하나이다. 기본 빌트인 타입(문자형, 숫자형 등)과는 달리 복합형 구조인데, 이는 다른 타입의 여러 개의 값을 가질 수 있음을 뜻한다. 테이블과 흡사하지만 테이블과 달리 레코드는 하나의 로우만을 가질 수 있다. 따라서 레코드는 서로 다른 유형의 데이터 타입을 가진 변수 여러 개가 한줄로 쭉 이어져있는 형태라고 생각하자. 사용자 정의형 레코드 레코드는 사용자가 직접 정의할 수 있다. 위에서 언급했듯이 테이블과 비슷한 구성이며(대신 하나의 로우만을 가짐) 테이블의 컬럼에 해당하는 것을 필드라고 칭한다. TYPE 레코드명 IS RECORD ( 필드명1 필드1타입 [[NOT NULL] := 디폴트 값] , 필드명2 필드2타입 [[NOT NU.. 2023. 11. 1.
묵시적 커서(CURSOR) 커서(CURSOR) 커서란 특정 SQL 문장을 처리한 결과를 담고 있는 일종의 포인터이다.(PRIVATE SQL이라는 메모리영역을 가리킴) 커서를 사용해서 처리된 SQL 문장의 결과 집합에 접근할 수 있다. 커서의 종류에는 묵시적 커서와 명시적 커서가 있는데 여기서 묵시적 커서에 대해서 간단하게 알아보고 다음 글에서 명시적 커서에 대해 알아볼 것이다. 묵시적 커서는 오라클 내부에서 자동으로 생성되어 사용하는 커서이다. SQL이 실행될 때마다 자동으로 만들어진다.(INSERT, UPDATE MERGE, DELETE SELECT) 반면 명시적 커서는 사용자가 직접 정의해서 사용하는 커서이다. 명시적이든 묵시적이든 커서는 열기(open)-패치(fatch)-닫기(close) 3단계로 진행되고 명시적 커서의 경우.. 2023. 10. 31.
CUBE CUBE에 대해서 간단하게 알아보자. CUBE(expr1, expr2, ...) CUBE는 ROLLUP과 비슷하나 약간 다르다. ROLLUP이 궁금하다면 https://fox-dev-diary.tistory.com/entry/ROLLUP ROLLUP ROLLUP에 대해서 간단하게! 알아보자. ROLLUP(expr1, expr2...) ROLLUP은 expr로 명시한 표현식을 기준으로 추가적인 집계 정보를 보여준다. 표현식에는 그룹핑 대상(SELECT에서 집계 함수를 제외한 컬럼 등) fox-dev-diary.tistory.com ROLLUP은 레벨별로 순차적 집계를 했는데 CUBE는 명시한 표현식 개수에 따라 가능한 모든 조합 별로 집계한 결과를 반환한다. 따라서 CUBE는 2의 (expr 수)제곱 만큼.. 2023. 10. 31.
반응형