본문 바로가기

Web & Mobile/SQL9

Lecture 19 - PLSQL(3) set serveroutput ON begin tel1; end; / set serveroutput OFF stored procedure declare create or replace procedure 프로시저명 is 변수 선언 변수선언 begin begin end end / tel 1 프로시저 create or replace procedure tel1 is v_tel varchar2(10) := '123456'; begin v_tel := substr(v_tel, 1, 3) || '-' || substr(v_tel, 4); dbms_output.put_line('전화번호 : ' || v_tel); end; / tel_main serveroutput을 tel1에서처럼 직접 치지 말고 템플릿에 적어두어 t.. 2019. 4. 17.
Lecture 18 - PLSQL(2) plsql 20 table set serveroutput ON DECLARE --TABLE type table_type is table of number index by binary_integer; v_table table_type; BEGIN v_table(1) := 10; v_table(2) := 20; v_table(3) := 30; v_table(4) := 40; v_table(5) := 50; for idx in 1..5 loop dbms_output.put_line(v_table(idx)); end loop; end; / set serveroutput OFF plsql 21 암시적 커서(cursor) 1. 암시적 커서 - 오라클이 내부적으로 사용하는 커서 sql%rowcount - 영향받은 함.. 2019. 4. 17.
Lecture 17 - PLSQL(1) 오라클 PL/SQL 강좌 PL/SQL은 Oracle's Procedural Language extension to SQL의 약자이다. 종류 익명 프로시저 - file을 통해서 실행 내장 프로시저 - Oracle에 저장 함수 - 함수형식으로 Oracle에 저장 plsql 01 시작 set serveroutput ON begin -- 내용 구문 -- 출력 -- 한 줄 + 엔터 dbms_output.put_line('Hello PL/SQL'); dbms_output.put_line('Hello PL/SQL'); dbms_output.put('Hello PL/SQL'); dbms_output.put('Hello PL/SQL'); dbms_output.put_line(''); dbms_output.put('Hel.. 2019. 4. 17.
Lecture 16 - SQL(6) DDL(Data Definition Language) 테이블 - 뷰 - select문의 별명 시퀀스 - 고유번호 생성기 인덱스 - 목차 시노님 - 객체의 별칭 TCL(Transaction Control Language) * Transaction - lock / 읽기 일관성 - commit (all or nothing) - rollback - savepoint DCL(Data Control Language) * create user 사용자아이디 identified by 암호; - grant to - revoke from 권한 시스템 - 관리자 객체 - 소유자 truncate는 rollback이 안됨!! 속도는 truncate가 빠르나 rollback이 안되니 rollback이 필요한 자료일 경우 delet.. 2019. 4. 17.
Lecture 15 - SQL(5) ※Review DML insert update delete merge truncate 트랜잭션(Transaction) 접속사용자 테이블 - 1명 => 여러명이 동시에 한테이블에 접속할 경우도 있다. 테이블 - delete 사람 A -> update 사람 B - 업데이트 하려보니 자료가 사라짐.... => 한사람이 동작을 하고 있으면 다른 사람은 하지마!! 라는 개념으로 만들어 진게 트랜잭션(Transaction)이다. 처음 사용자가 LOCK을 걸고 다하면 LOCK을 푼다. 허나 이 기능은 DML 문만 가능하다. 클라이언트 서버 : 세션 - 아이디가 달라야 생기는 것은 아니다. 아이디가 같아도 접속 방법이 다르면 다른 세션이다. 서로 같은 아이디로 로그인 하였으나 왼쪽과 오른쪽 결과가 다르다 이것이 트랜잭.. 2019. 4. 15.
Lecture 14 - SQL(4) MOC Orcale - OCP(pdf - 영어) DDL - 데이터저장소 데이터베이스 객체 사용자테이블 create table 컬럼 정의 : 컬럼명 자료형(길이) not null * 다른 테이블 참조 (Sub-query) alter table 컬럼 수정 (추가, 수정, 삭제, 이름변경) drop table recycle bin (재활용통) flashback (복원) 데이터 딕셔너리(sys) = gui 시스템 관리용 데이터 저장 데이터 딕셔너리 뷰 user_ all_ dba v$ DML - 데이터 * 테이블의 정의를 알고 있어야 함(스키마) * ERD - Entity Relationship Diagram(도식) Entity(테이블 - ERD) Relationship(두 개 테이블의 관계) desc 테이블명 .. 2019. 4. 15.
Lecture 13 - SQL(3) * 정확한 데이터를 출력 select // 컬럼 선택 from // 데이터 선택 [where ] // 행선택 [group by ] // 그룹화 -> 그룹함수 [having ] // 그룹의 제한 [order by ] // 정렬 내장 함수 단일행함수(26p) 문자 / 숫자 / 날짜 / 변환 / 일반 복수행함수(그룹함수) * 함수 중첩(어떤 값을 출력할 지 잘 알고 있어야 한다.) join - 두개 이상의 테이블을 조인해서 불러오는 기법 카르테시안 프로덕트 - 두개의 테이블을 묶는다. - Equi-Join 두 테이블의 특정 컬럼의 값이 같을때 검색한다. select emp.deptno, dept.deptno, ename, dname from dept, emp where dept.deptno = emp.dept.. 2019. 4. 15.
Lecture 12 - SQL(2) 데이터베이스 관리시스템 저장소(실제 데이터가 존재) * 데이터는 입력시 정확히 입력해야함(보안 / 백업 중요) 관리시스템 1. 서버 -> 실제 저장소 관리의 영역 * 시작 / 종료 2. 클라이언트 -> 명령 1) sqlplus 2) sql developer 저장소 - 엑셀의 구조로 데이터를 가지고 있다 * 접속방법은 sqlplus로 접속한다. select * from tab; describe 테이블이름; // 컬럼 정의 select * from 테이블명; // select 컬럼(*) // select(컬럼) 절 - 어떤 컬럼을 가져올래 from 테이블명 // from 절 where 컬럼에 대한 조건 // where(조건) 절 order by 정렬 // order by 절 원격 접속법 해당 구역의 정보를 .. 2019. 4. 14.