[SQL] 오라클 반복문 LOOP · WHILE · FOR
·
STUDY/DB SQL
LOOP문LOOP문은 특정 조건이 만족할 때까지 반복하는 반복문입니다.LOOP문의 구조는 다음과 같습니다.--사용법LOOP처리문;EXIT[조건];END LOOP;예제 [1부터 10까지 출력]DECLARE i NUMBER;BEGIN FOR i IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE(i); END LOOP;END;  WHILE문WHILE문은 특정 조건이 만족하는 동안 반복하는 반복문입니다.WHILE문의 구조는 다음과 같습니다.--사용법WHILE 조건LOOP처리문;END LOOP;예제 [1부터 10까지 출력]DECLARE i NUMBER := 1;BEGIN WHILE i   FOR문FOR문은 특정 범위의 값을 반복하는 반복문입니다.FOR문의 구조는..
[SQL] 오라클 커서(CURSOR)
·
STUDY/DB SQL
커서특정SQL문장을 처리한 결과를 담고있는 영역을 가르키는 일종의 포인터커서를 사용하면 처리된 SQL문장의 결과 집합에 접근할수있다. 커서에는 묵시적 커서와 명시적 커서가 있다.묵시적 커서 : 오라클 내부에서 자동 생성되어 사용하는 커서개발자 입장에선 이러한 커서의 동작에 관여할수없지만, 속성을 이용하면 여러가지 정보를 얻어낼수있다.명시적 커서 : 사용자가 직접 정의해서 사용하는 커서를 말한다.  묵시적 커서묵시적 커서 속성SQL%FOUND결과 집합의 패치 로우수가 1개이상이면 TRUE, 아니면 FALSE를 반환SQL%NOTFOUND결과 집합의 패치 로우수가 0이면 TRUE, 아니면 FALSE를 반환SQL%ROWCOUNT영향 받은 결과 집합의 로우 수 반환, 없으면 0을 반환SQL%ISOPEN묵시적 커서..
[Oracle] SQL Developer DBMS 출력
·
STUDY/DB SQL
DBMS_OUTPUT.PUT_LINE BEGIN DBMS_OUTPUT.PUT_LINE('출력 확인'); END; 결괏값을 보거나 오류가 발생한 부분을 확인하고 싶을 때 사용한다. SQL Developer 에서 DBMS 출력창 열기 왼쪽 상단에 +를 눌러 시작하면 됩니다.
[SQL] 오라클 문자열 합치기 CONCAT 과 ||
·
STUDY/DB SQL
오라클 문자열 합치기오라클에서 문자 합치기는 CONCAT() 함수 또는 || 연산자를 사용하여 수행할 수 있습니다. CONCAT() 함수 :두 개의 문자열을 합쳐서 하나의 문자열을 반환합니다.|| 연산자 :두 개의 문자열을 합쳐서 하나의 문자열을 반환하지만,CONCAT() 함수와 달리 문자열 사이에 공백을 허용합니다. 다음은 CONCAT() 함수와 || 연산자를 사용하여 문자열을 합치는 예입니다.SELECT CONCAT('Hello', 'World!');-- 'HelloWorld!'SELECT 'Hello' || 'World!';-- 'HelloWorld!' 두 연산자의 결과는 동일하지만, || 연산자는 CONCAT() 함수보다 더 간결한 문법을 가지고 있습니다. 따라서, 일반적으로 || 연산자를 사용하..
[SQL] 오라클 %TYPE %ROWTYPE
·
STUDY/DB SQL
%TYPE %TYPE 데이터형은 기술한 데이터베이스 테이블의 컬럼 데이터 타입을 모를 경우 사용할 수 있고,또. 코딩이후 데이터베이스 컬럼의 데이터 타입이 변경될 경우 다시 수정할 필요가 없습니다. 이미 선언된 다른 변수나 데이터베이스 컬럼의 데이터 타입을 이용하여 선언합니다.데이터 베이스 테이블과 컬럼 그리고 이미 선언한 변수명이 %TYPE앞에 올수 있습니다. %TYPE 속성을 이용하여 얻을 수 있는 장점 : 기술한 DB column definition을 정확히 알지 못하는 경우에 사용할 수 있다.기술한 DB column definition이 변경 되어도 다시 PL/SQL을 고칠 필요가 없다. %TYPE 예제:CREATE TABLE table_name ( id NUMBER, name VARCHAR2..
[SQL] 오라클 TRIM함수
·
STUDY/DB SQL
오라클 공백 제거 함수 TRIM 함수는 문자열의 양쪽에 있는 공백을 제거합니다.LTRIM 함수는 문자열의 왼쪽에 있는 공백을 제거합니다.RTRIM 함수는 문자열의 오른쪽에 있는 공백을 제거합니다. TRIM 함수예를 들어, " hello " 문자열에서 공백을 제거하면 "hello" 문자열이 됩니다.SELECT TRIM(' hello ') FROM dual;결과는 다음과 같습니다.hello TRIM 함수는 공백 이외에도 다른 문자를 제거할 수도 있습니다. 예를 들어, 다음과 같이 "!" 문자를 제거할 수 있습니다.SELECT TRIM('!hello!', '!') FROM dual;결과는 다음과 같습니다.helloTRIM 함수는 문자열을 처리하는 데 유용한 함수입니다. 문자열의 양쪽, 왼쪽, 오른쪽에 ..
[SQL] 오라클 LISTAGG함수
·
STUDY/DB SQL
LISTAGG 함수Oracle 데이터베이스의 SQL 함수로, 여러행의 데이터를 단일 행에 함께 출력하게 해줍니다.*11g 에서 추가. 10g 이하는 WM_CONCAT 함수 사용LISTAGG([합칠 컬럼명], [구분자]) WITHIN GROUP(ORDER BY [정렬 컬럼명]) 합칠 컬럼명 : 연결할 값의 열구분자: 연결된 값 사이에 삽입될 문자열ORDER BY 절: 그룹화된 행의 정렬 순서를 지정합니다. 선택적으로 사용할 수 있습니다. 사용 예시예를 들어, emp 테이블에서 부서별 사원 이름을 구하려면 다음과 같은 쿼리를 사용할 수 있습니다.SELECT department_id, LISTAGG (name, ', ') AS employee_namesFROM empGROUP BY department_id;이..
[SQL] 오라클 시퀀스(SEQUENCE) 사용법
·
STUDY/DB SQL
시퀀스 (SEQUENCE) 란?오라클의 시퀀스는 규칙에 따라 순번을 생성하는 객체입니다. 시퀀스는 데이터베이스 테이블에 행을 삽입할 때 행 번호를 생성하는 데 사용됩니다. 시퀀스는 또한 보고서를 생성하거나 데이터를 정렬하는 데 사용될 수 있습니다. 시퀀스 생성CREATE SEQUENCE [시퀀스 이름] [START WITH 시작번호] [INCREMENT BY 증가단위] [MAXVALUE 최대값] [MINVALUE 최소값] [CYCLE | NOCYCLE] [CACHE | NOCACHE]* 시퀀스 이름 제외하고 나머지 전부 생략 가능 START WITH : 시퀀스 시작 숫자 (DEFAULT : 1)INCREMENT BY : 증가 단위이다. 지정한 값 만큼 시퀀스 증가 (DEF..