KIC/DB 오라클
-
day12 - 오라클 (PL/SQL, 커서, 명시적 커서, 묵시적 커서, 프로시저KIC/DB 오라클 2021. 7. 14. 00:33
[SQL 커서] - SQL 커서 : 오라클 서버에서 SQL 문을 실행할 때마다 처리(Parse, Execution)를 위한 메모리공간 -> SQL문을 실행했을 때 해당 SQL문 처리 정보를 저장 -> SELECT문의 결과 행 별로 특정 작업 수행 - select into 방식 -> 조회되는 행이 하나 일 때 -> 커서는 조회되는 행의 수와 상관없이 사용 - 즉 사용자가 요청하는 데이터를 데이터베이스 버퍼 캐쉬에서 커서로 복사해온 후 커서에서 원하는 데이터를 추출하여(Fetch) 후속 작업을 하게 된다는 뜻. - 이 메모리 공간을 Private SQL Area한다 - SQL 커서는 크게 묵시적 커서(Implicit Cursor)와 명시적 커서(Explicit Cursor)로 나눌 수 있다. [명시적 커서]..
-
day11_3 - 오라클 (PL/SQL, RECORD Type 변수, 컬렉션, 바인드 변수, 조건문, 반복문)KIC/DB 오라클 2021. 7. 13. 02:59
[PL/SQL RECORD Type 변수] 1. TYPE type_name IS RECORD (field_declaration[, field_declaration]...); 형식 -> select 문에서 여러개의 변수를 한번에 전달 [PL/SQL Table Type 변수(컬렉션)] - 연관 배열 : 인덱스가 있는 변수의 다중 공간 - 중첩 테이블 - VARRAY [연관 배열의 주요 특징] - 연관 배열은 변수 선언 당시 채워지지 않으며 키나 값을 포함하지 않으므로 선언에서 연관 배열을 초기화할 수 없다. - 연관 배열을 채우려면 명시적 실행 문이 필요. - 데이터베이스 테이블의 크기와 마찬가지로 연관 배열의 크기에도 제약이 없다. 따라서 새 행이 추가됨에 따라 연관 배열이 증가하도록 행 수가 동적으로 늘..
-
day11_2 - 오라클 (PL/SQL 기본구조, 익명 블록, 작성 규칙, 주의 사항, 연산자, 변수)KIC/DB 오라클 2021. 7. 13. 02:59
[PL/SQL] -오라클에서 제공하는 프로그래밍 언어 - Procedural Language/SQL 의 약자 - 일반 프로그래밍 언어적인 요소를 거의 다 가지고 있다. - 실무에서 요구 되는 절차적인 데이터 처리를 다 할 수 있음. 특히 SQL 과 연동되어서 막강한 기능을 구현할 수 있음. - 데이터 트랜잭션 처리능력이나 정보보호, 데이터에 대한 보안, 예외처리 기 능, 객체지향 등 데이터베이스와 관련된 중요한 모든 기능을 지원 - 데이터베이스 업무를 처리하기에 최적화된 언어임. [PL/SQL 기본구조] - 선언부(DECLARE), 실행부(BEGIN), 예외처리부 (EXCEPTION)로 구성됨. - Anonymous PL/SQL Block(익명블록) 과 Stored PL/SQL Block(저장된 블록) ..
-
day11_1 - 오라클 (user, schema, Role)KIC/DB 오라클 2021. 7. 13. 01:54
[user] -> 오라클에 접속하기 위해 사용되는 사용자를 의미 [schema] -> 특정 user 가 만든 object 들의 모음을 의미 -> 일반적으로 혼용해서 많이 사용 [Role] -> 1) 에서 롤을 만든다 (롤은 권한 바구니) -> 2) 에서 해당 권한을 롤에 넣는다. -> 3) 2)에서 부여받은 롤을 사용자 SCOTT에게 부여한다. -> 4) 어떤 사용자가 어떤 ROLE을 사용하는지 확인한다. [user 등록]
-
day10 - 오라클 (CREATE, ALTER, RENAME, MODIFY, 제약조건, 외래키, 인덱스, 뷰, 시퀸스)KIC/DB 오라클 2021. 7. 13. 00:03
[CREATE] create table ddl_test (no number(3), name varchar2(10), birth date default sysdate); -> 일반 테이블을 생성한다. [테이블 생성시 주의사항] 1. 테이블 이름은 반드시 문자로 시작해야 한다. 즉 숫자로 시작할 수 없다. 단 숫자가 포함되는 것은 가능 특수 문자도 가능하지만 테이블 생성시 ""(겹 따옴표)로 감싸야 하며 권장하지 않는다. 2. 테이블 이름이나 컬럼 이름은 최대 30bytes 까지 가능 즉 한글로 테이블 이름을 생성할 경우 최대 15글자까지 가능 3. 테이블 이름은 한명의 사용자가 다른 오브젝트들의 이름과 중복 사용 할 수 없다. 4. 테이블 이름이나 오브젝트 이름을 오라클이 사용하는 키워드로 사용하지 않는 ..
-
day09 - 오라클 (sql 명령어, insert, delete, truncate, drop 차이, merge, commit, DML)KIC/DB 오라클 2021. 7. 10. 23:31
[SQL 명령어들] DML(Data Manipulation Language): INSERT(입력), UPDATE(변경), DELETE(삭제), MERGE(병합) DDL(Data Definition Language): CREATE (생성), ALTER (수정), TRUNCATE (잘라 내기), DROP (삭제) DCL (Data Control Language): GRANT (권한 주기), REVOKE (권한 뺐기) TCL (Transaction Control Language): COMMIT (확정), ROLLBACK(취소) SELECT : 어떤 분류에서는 DQL (Data Query Language) 라고 하기도 함 INSERT: 데이터 입력 명령어 INSERT INTO table licolumn1, co..
-
day08 - 오라클 (다중 컬럼, scalar sub query, inline view, exists 와 not exists)KIC/DB 오라클 2021. 7. 10. 23:17
[다중 컬럼] select empno, name, birthday, pay, position from emp2 where (pay, position) in (select max(pay), position from emp2 group by position); select empno, name, birthday, pay, position from emp2 where pay = (select max(pay) from emp2 where position = e.position); [scalar sub query(스칼라 서브쿼리)] -> select 문에서 서브쿼리 추가 --emp2 의 deptno 와 dept2의 dcode 숫자 형식이 일치 select * from emp2; select * from dept2..
-
day07 - 오라클 (Equi join 문, not - Equi, outer join, full outer join, self join, Sub Query)KIC/DB 오라클 2021. 7. 10. 18:44
[Equi join] --Oracle join 문법 SCOTT>SELECT sname "3140|E", pname "X/Em-g" FROM students, professor p WHERE s.profno = p.profno AND s.deptno1 = 101; -ANSI Join 문법 SCOTT SELECT s.name "0", p.name "XE+g" FROM student s JOIN professor p ON s.profno = p.profno AND s.deptno1 = 101; (오늘 정보처리기사 시험이 있었는데 Oracle join 방법만 알고 ANSI join 방법은 몰랐는데 시험에 ansi 조인 나와서 틀렸다.. 이제 까먹지 말자) [not - Equi] --Oracle join 문법 S..