학원공부/SQL(8)
-
SQL - 트랜잭션, 커서
트랜잭션 특정 테이블에서 데이터를 읽어 조작 후 다른 테이블에 데이터를 입력하거나 갱신, 삭제할 때 처리 도중 오류가 방생하면 모든 작업을 원상태로 되돌리고, 처리 과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영하는 것이 트랜잭션 처리이다. 트랜잭션 처리 방법 - COMMIT과 ROLLBACK COMMIT – 거래가 모두 성공적으로 마쳤을 때, “이 거래는 성공했으니 반영해도 된다”라고 확인하는 역할을 하는 것. ROLLBACK – DB에 가해진 변경사항을 취소시키는 기능 커서의 정의 특정 SQL문장을 처리한 결과를 담고 있는 영역을 가리킴. 커서를 사용하면 처리된 SQL문장의 결과 집합에 접근 가능 커서의 종류 묵시적 커서(Implicit Cursor) 오라클 ..
2020.10.04 -
SQL - 예외처리
예외처리 PL/SQL의 오류 문법 오류 객체나 키워드 이름을 잘못 참조하거나 함수나 프로시저의 매개변수를 잘못 명시했을 때 발행되는 오류 컴파일할 때 걸러짐 예외 실행 시에 로직을 처리하면서 발생하는 오류 시스템 예외와 사용자 정의 오류 두가지로 구분 시스템 예외는 오라클 내부에 미리 정의된 예외 사용자정의예외–사용자가직접예외를정의해서사용하는것 예외처리가 필요한 이유? 예외처리를 해주어 바로 프로그램이 다운되지 않고 어떤 에러가 났는지 알수있고 일단 실행시킴. SQLCODE, SQLERRM 예외정보 오라클에서는 발생한 예외 정보를 참조하기 위한 수단으로 SQLCODE와 SQLERRM의 내장 함수를 제공함. SQLCODE 실행부에서 발생한 예외에 해당하는 코드를 ..
2020.09.25 -
SQL - PL/SQL 2
함수와 프로시져의 차이점은 함수에선 return 반환값이 있지만 vs 프로시져에는 없다. out이 반환역활을 한다.
2020.09.25 -
SQL - PL /SQL
FOR문 기본 문법 인덱스는 1씩 증가하며, 참조는 가능하나 변경할 수 없다. REVERSE를 명시하면 최종값에서 시작하여 초기값으로 감소하면서 반복 예제 FOR 인덱스 IN [REVERSE] 초기값..최종값 LOOP 처리문; END LOOP; DECLARE vn_base_num NUMBER := 3; BEGIN FOR i IN 1..9 LOOP DBMS_OUTPUT.PUT_LINE (vn_base_num || ‘*’ || i || ‘= ‘ || vn_base_num * i); END LOOP; END; GOTO문 GOTO문이 지정하는 레벨로 제어가 넘어간다. DECLARE vn_base_num NUMBER := 3; BEGIN FOR i IN 1..9 LOOP DBMS_OUTPUT.P..
2020.09.24 -
SQL - join3
계층형 구조 계층형 쿼리 테이블에 저장된 데이터를 부모-자식 관계를 따라 가면서 계층형 구조로 쿼리를 수행한다. 계층형 구조 회사조직도,컴퓨터디렉토리구조,가족트리,메뉴구조,게시판등이계층형구조에 속한다. 계층형 쿼리 SQL을 사용해서 데이터 트리를 만들기 위한 오라클 만의 독특한 방법이며, Start with와 Connect By 구문을 가진다. START WITH 조건 계층형 구조에서 어떤 행이 루트(최상위 레코드)인지 명시. CONNECT BY 조건 부모-자식 관계를 말한다. 여기서는 부모와 자식 값을 저장하는 컬럼을 연결한다 계층형 쿼리에 대한 필터 조건을 기술한다. 부서 테이블은 parent_id에 상위 부서 정보를 가지고 있음 => ‘CONNECT BY PRIO..
2020.09.23 -
sql - join2
FULL OUTER 조인 A테이블이가지고있는데이터,B테이블이가지고있는데이터모두 조회됨. 두 테이블의 합집합이라 생각할 수 있다. SELECT a.emp_id, b.emp_id FROM tab_a. a FULL OUTER JOIN tab_b b ON (a.emp_id = b.emp_id); 서브 쿼리의 개념 서브 쿼리(Sub-Query) SQL 문장 안에서 보조로 사용되는 또 다른 SELECT문을 의미한다. 최종 결과를 출력하는 쿼리를 메인 쿼리라고 한다. 서브 쿼리는 SELECT, FROM, WHERE절 모두에서 사용 가능하며 INSERT, UPDATE, MERGE, DELETE 문에서도 사용할 수 있다. 서브 쿼리의 구분 메인 쿼리와의 연관성에 따라 연관성없는서브쿼리 ..
2020.09.23