[Oracle] PL/SQL 반복문 (Loop, While, For Loop, Continue)
2020. 7. 6. 17:58
SQL
BASIC LOOP loop pl/sql sentences; exit(condition); end loop; DECLARE v_num NUMBER := 0; BEGIN LOOP dbms_output.put_line(v_num); v_num := v_num + 1; EXIT WHEN v_num > 10; END LOOP; END; / WHILE DECLARE v_num NUMBER := 0; BEGIN WHILE v_num < 11 LOOP dbms_output.put_line(v_num); v_num := v_num + 1; END LOOP; END; / FOR FOR cnt IN start..end LOOP -- 정방향 BEGIN FOR cnt IN 0..10 LOOP dbms_output.put_li..
[Oracle] PL/SQL 조건문 (if문, case문)
2020. 7. 6. 17:22
SQL
[ IF문 ] if ~ end if if(조건) then 실행명령; end if; 예제 DECLARE emp_id employees.employee_id%TYPE; emp_name employees.last_name%TYPE; emp_dept employees.department_id%TYPE; emp_dept_name varchar(20) := NULL; BEGIN select employee_id, last_name, department_id INTO emp_id, emp_name, emp_dept from EMPLOYEES e where EMPLOYEE_ID= 124; IF(emp_dept = 50) THEN emp_dept_name := 'Shipping'; ELSIF(emp_dept = 60) ..
[Oracle] PL/SQL 컬렉션, 바인드 변수
2020. 6. 28. 23:28
SQL
Table Type 변수 ( Collection ) 일반 프로그래밍 언어에서 사용하는 배열 타입을 pl/sql에서는 컬렉션이라고 한다. [ 종류 ] 연관 배열 ( associate array / index-by table ) 키와 값의 쌍으로 구성 된 컬렉션 java의 hash table과 같은 개념 key 데이터 유형 숫자 binary_integer, pls_integer number보다 작은 저장 영역 필요, 산술 연산의 경우 number보다 빠르다 문자 : varchar2 value 유형 일반 데이터 타입, 레코드 타입 레코드 타입일 경우 여러개의 값을 가질 수 있다. varray ( variable array ) 고정 길이를 가진 배열 ( 길이 명시 ) 일반 프로그래밍에서 사용되는 배열과 같다 중..
[Oracle Error] Got minus one from a read call
2020. 6. 14. 22:54
SQL
1 SELECT s.status, sid, serial#, s.* FROM v$session s ALTER SYSTEM KILL SESSION 'session ID, 시리얼번호'; -> 커넥션 풀 문제라고 해서..하나하나 user를 삭제해보았지만.. 반응이 없었다.. 2 1. sql > Oracle sysdba 로그인 2. cmd창 새로 실행 후 root/# lsnrctl stop 3. sql > shutdown immediate 4. sql > startup 5. root/# lsnrctl start -> 리스너문제였음..ㅎㅎ 이것도 안되면 lsnrctl services 등등 해보시길..
[Oracle] PL/SQL ( Procedural Language for SQL )
2020. 6. 14. 22:33
SQL
PL/SQL Procedural Language extensions to the Structured Query Language 오라클에서 제공하는 프로그래밍 언어 일반 프로그래밍 언어적인 요소를 가지고 있어 DB업무 처리에 최적화 된 언어 SQL을 확장한 절차적 언어 Oracle의 표준 데이터 엑세스 언어 [ 기본 개념 ] 선언부 DECLARE 모든 변수나 상수 선언 실행부 Executable BEGIN ~ END 실제 로직이 처리되는 부분 제어문, 반복문, 함수정의 등의 로직 기술 예외처리부 Exception ( Optional ) 실행 도중 에러 발생 시, 에러 처리를 위한 명령 기술 * DECLARE, BEGIN, EXCEPTION 등의 키워드들은 세미콜론을 붙이지 않는다. 익명 블록 ( Anony..
[Oracle] 오라클 시퀀스 ( Sequence )
2020. 6. 7. 22:33
SQL
Sequence ( Autonumber ) In Oracle, you can create an autonumber field by using sequences. A sequence is an object in Oracle that is used to generate a number sequence. This can be useful when you need to create a unique number to act as a primary key. 순차적으로 증가하는 순번 필드 PK값이 중복되지 않도록 할 때 유용함 [ 문법 ] CREATE SEQUENCE [ 시퀀스 이름 ] INCREATE BY [ 증가값 ] START WITH [ 시작값 ] MAXVALUE [ 최대값 ] | NOMAXVALUE MINV..
[Oracle] 계층형 쿼리 ( Hierarchical Queries )
2020. 6. 7. 22:07
SQL
Hierarchical Queries If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause 오라클에서만 사용할 수 있는 쿼리 계층형 정보를 표현하고자 오라클8부터 지원 [ 문법 ] START WITH condition1 CONNECT BY condition2 SELECT LPAD(' ', 2*(LEVEL-1)) || item_name item_names FROM BOM_SPHONE START WITH parent_id IS null CONNECT BY PRIOR item_id = parent_id START WITH condition1 c..
[Oracle] docker sysdba 접속
2020. 6. 7. 16:53
SQL
docker exec -it bin/bash root@컨테이너 ID : /# sqlplus /nolog conn sys/비밀번호 as sysdba