분류 전체보기

반응형
Backend/SQL(Oracle)

[kh정보교육원 46일차] Stored Function / Stored Procedure / CURSOR(커서) / TRIGGER(트리거)

STORED FUNCTION 리턴값이 반드시 하나 존재하는 프로시져 객체 ※매개변수타입, 리턴타입에는 자료형의 크기를 작성하지 않는다. 형태 create [or replace] function 함수명 (매개변수명1 타입, 매개변수명2 타입, .... ) return 리턴타입 is -- 지역변수선언 (없으면 is쓰고 바로 begin) begin --실행부 return 리턴값; exception --예외처리부 return 예외발생시 리턴값; end; / ex ) 주민번호를 받아서 나이를 리턴하는 함수 get_age생성 create or replace function get_age(p_emp_no employee.emp_no%type) return number is v_birth_year number; v_a..

Backend/SQL(Oracle)

[kh정보교육원 45일차] PL/SQL 자료형과 변수 - %type, %rowtype, record / DQL+DML(pl/sql) if, case, loop, while, for

오늘, 내일은 PL/SQL에 대해 알아본다. PL/SQL이란 ? Oracle's Procedural Language extension to SQL로, 오라클에서 SQL을 확장하여 사용하는 프로그래밍 언어이다. 절차적 프로그래밍 언어로 일반적인 SQL언어와는 차이가 있다. SQL은 select, update, insert 등 데이터를 조작하는 쿼리만 가능하지만, PL/SQL은 기본 sql외에도 declare(변수), exception(조건처리), loop(반복문) 등 절차적 프로그래밍이 가능한 것이 특징이다. PL/SQL의 유형 익명블럭 PL/SQL객체 - Procedure, Function, Trigger, Job, Scheduler 익명블럭의 구조 declare --(선택) 변수 선언부 begin --..

Backend/SQL(Oracle)

[kh정보교육원 44일차] DCL - GRANT, REVOKE / TCL / DB-Object-data dictionary,stored view, Sequence, Index

DCL Data Control Language 데이터 제어어 권한을 부여/회수하는 명령어 (grant / revoke) TCL Transaction Control Language 를 포함한다. (commit / rollback) GRANT / REVOKE grant 권한 or 롤 to 사용자 or 롤 or public [ with admin option] 권한 previliage - create session, create table , select on table, ....( ~할 수 있는) 롤 role 권한 묶음 - connect , resource, dba, ... with admin option 부여받은 권한 or 롤을 다시 다른 사용자에게 부여할 수 있는 권한 qwerty 사용자생성 qwerty..

Backend/SQL(Oracle)

[kh정보교육원 42일차] DDL - Create 제약조건 /ALTER(add,modify,rename,drop)/TABLE RENAME

DDL Data Definition Language 데이터 정의어 DDL은 Database 객체를 생성하는 기능, Alter 수정, Drop 삭제 하는 명령어이다. 실행 즉시 db에 반영되므로 TCL처리가 필요없다. select object_type from all_objects; 위와 같은 코드를 실행하면 사용자가 소유한 객체, 사용권한을 위임받은 객체 모두 조회 가능한 Data Dictionary를 볼 수 있다. 수십개의 행이 계속해서 인출된다. Create 객체를 생성하는 명령어 컬럼 작성시 컬럼명 자료형 [기본값] [제약조건] 순으로 작성한다. create table member( id varchar2(20) primary key, password varchar2(20) not null, name..

Backend/SQL(Oracle)

[kh정보교육원 41일차] DML - INSERT, SELECT, UPDATE, DELETE (CRUD, Create, Read, Update, Delete) truncate

금요일에는 DML에 대해 자세히 배워보았다. 초반에 테이블을 만들고 지우느라 Create, Delete기능을 사용하긴 했지만, 제대로 알진 않았기에 이번에 제대로 배워본다. DML Data Manipulation Language : 데이터 조작어 테이블 객체의 데이터에 대해 생성,조회, 수정, 삭제 (CRUD : Create , Read, Update, Delete) 하는 명령어 insert (Create) select (Read) update (Update) delete (Delete) dml명령어 수행시 메모리에서 우선작업하므로 TCL(Transaction Control Language)를 통해서 실제 db에 반영(commit), 작업취소(rollback)하는 과정이 필요하다. * dml언어 사용시에..

Backend/SQL(Oracle)

[kh정보교육원 40일차] inline view /rownum /순위- rank, dense_rank,row_number /집계-sum over,listagg,avg over

유형 분류 결과값에 따른 유형 메인 쿼리 관계에 따른 구분 위치에 따른 구분 1. 단일행 단일컬럼 서브쿼리 (1행 1열) 1. 일반 서브쿼리 서브쿼리의 결과값을 메인쿼리에 통보 1. 스칼라 서브 쿼리 2. 다중행 단일컬럼 서브쿼리 (n행 1열) 3. 단일행 다중컬럼 서브쿼리(1행 n열) 2. 상호연관 서브쿼리 메인쿼리값을 가지고 서브쿼리 처리 후, 메인쿼리에 다시 통보 2. inline - view 4. 다중행 다중컬럼 서브쿼리(n행 m열) 지난시간에 서브쿼리를 분류에 따라 배웠다. 이때, inline - view에 대해 배우지 못했는데, 오늘 배우게 된다. inline view - from절에 사용된 서브쿼리 - view란 실제 테이블에 근거해서 작성된 논리적 가상 테이블을 의미한다. view를 통해 ..

Backend/SQL(Oracle)

[kh정보교육원 39일차] JOIN 오라클 전용문법, SUB-QUERY (서브쿼리의 종류들- 상호연관 서브쿼리, 스칼라 서브쿼리 등) any,some,all

조인문법에는 1. ansi 표준문법 : join, on 키워드 사용 2. oracle 전용문법 : , (콤마 ), where절 사용 두가지 방법이 있다. ansi표준문법의 경우 36, 35일차에 알아보았다. 오라클 표준문법을 ANSI표준문법과 비교해보겠다. EQUI JOIN 1. INNER JOIN 이너조인 ANSI 표준문법은 회색, 오라클 전용 문법은 검정색 창 안에 적었다. 오라클 전용문법은 테이블 순서가 중요하지 않다. select e.emp_name, d.dept_title from employee e inner join department d on e.dept_code = d.dept_id; select e.emp_name, d.dept_title from employee e,department..

Backend/SQL(Oracle)

[kh정보교육원 37일차] JOIN(cross join,self join,multiple join,SET OPERATOR(UNION,INTERSECT,MINUS)

JOIN - inner join - outer join 1. left outer join 2. right outer join 3. full outer join - cross join - self join - multiple join SET OPERATOR - union - union all - intersect - minus 이게 오늘까지 배운 내용의 요약이라 할 수 있다. 금요일에 배운 INNER JOIN, OUTER JOIN을 다시 보자. INNER JOIN (이너 조인) - 내부 조인. 두 테이블간의 교집합을 의미한다. - 각 테이블에서 기준컬럼이 null인 행, 상대테이블에서 매칭되는 행이 없는 행 제외. - inner 키워드 생략 가능. (inner) join으로 작성 예시 employee | ..

Backend/SQL(Oracle)

[kh정보교육원 36일차] DQL2 - group by / having / rollup / cube / JOIN (inner join , outer join )

Group by - 테이블 전체 행을 특정컬럼이 동일한 행끼리 그룹핑 처리 - group by 절이 없다면, 테이블 모든 행이 하나의 그룹으로 처리 - group by에 명시한 컬럼만 select절에 사용될 수 있음. 아닌 컬럼 사용시 오류 발생 - group by 는 null도 그룹으로 처리한다. - 가상컬럼을 가지고도 group by가 가능하다. - group by는 컬럼 순서가 중요하지 않다. - group by에서 여러개의 컬럼을 그룹으로 할 경우, distinct 처리와 같이 두 컬럼의 값이 동일한 행을 그룹핑한다. ex) 부서별로 급여 합계 select dept_code, sum(salary) sum_sal, trunc(avg(salary)) avg_sal from employee group ..

Backend/SQL(Oracle)

[kh정보교육원 35일차] FUNCTION - 단일행처리함수 (문자처리, 숫자처리, 날짜처리, 형변환, 기타함수) / 그룹함수 (sum, avg, count, max, min)

단일행처리 함수 a. 문자처리 함수 length(value) : 글자수를 반환 instr(value, search, [position] , [occurrence]) : value에서 search의 인덱스를 반환 substr(value, position, [length]) : value에서 position부터 length개 잘라서 문자열 반환 lpad(value, len, [padding_str]) : len 에서 value의 길이를 뺀 만큼 padding_str를 왼쪽에 채워서 처리 rpad(value, len, [padding_str]) : len 에서 value의 길이를 뺀만큼 padding_str를 오른쪽에 채워서 처리 length(value) : 글자수를 반환 select emp_name, len..

반응형
유경(shin-6-0)
'분류 전체보기' 카테고리의 글 목록 (8 Page)