Programming/Oracle

Programming/Oracle

[Oracle] PL/SQL 예외 처리 (Exception Handling)

💡예외 처리 예외 처리는 실행부에서(being~end) 발생하는 예외를 처리하는 블록(exception 블록)이다. 예외 발생 --ORA-06502: PL/SQL: numeric or value error: character string buffer too small DECLARE vname varchar2(5); BEGIN dbms_output.put_line('하나'); SELECT name INTO vname FROM tblInsa WHERE num = 1001; dbms_output.put_line('둘'); dbms_output.put_line(vname); END; 위 프로시저는 변수의 길이가 저장하려는 데이터보다 짧아 오류가 발생하고 있다. 절차를 갖게 되었을 때의 에러 발생은 실행 자체에 ..

Programming/Oracle

[Oracle] PL/SQL Cursor

📌cursor 커서(cursor)는 SQL 결과 집합을 참조하고 조작하는 데 사용되는 데이터베이스 개체이다. 커서를 사용하면 결과 집합의 행을 하나씩 탐색하여 각 행의 데이터에 접근할 수 있다. select into select into는 결과셋의 레코드가 1개일 때만 사용할 수 있다. cursor cursor는 결과셋의 레코드가 다중 레코드일 때 사용한다. 커서를 통해 가져온 데이터를 처리하기 위해 루프를 사용한다. 루프는 커서에서 데이터를 한 행씩 가져와서 처리할 수 있도록 하며, exit when문을 사용하여 루프를 종료한다. cursor의 선언 CURSOR vcursor IS SELECT name FROM tblInsa; cursor를 선언할 때에는 앞에 식별자가 오고, 뒤에 자료형이 온다. 이처..

Programming/Oracle

[Oracle] PL/SQL 제어문: 조건문, 반복문, 분기문

💡조건문 [Java] 조건문: if문, switch문 제어문은 수많은 명령어들의 흐름(실행 순서)을 통제하는 수단을 의미한다. 제어문의 끝에 문장 종결자(;)를 사용하지 않는다는 특징이 있다. 제어문은 크게 조건문(조건 제어문)과 반복문(반복 isaac-christian.tistory.com PL/SQL 조건문은 Java의 조건문과 비슷한 점이 많다. if문 DECLARE vnum NUMBER := 10; BEGIN IF vnum > 0 THEN dbms_output.put_line('양수'); END IF; END; if else문 DECLARE vnum NUMBER := 10; BEGIN IF vnum > 0 THEN dbms_output.put_line('양수'); ELSE dbms_output.p..

Programming/Oracle

[Oracle] PL/SQL 프로시저

💡PL/SQL PL/SQL의 정식 명칭은 Oracle's Procedural Language extension to SQL이다. PL/SQL은 기존의 ANSI-SQL에 절차 지향 언어 기능을 추가한 것이다. 우리가 쓰는 SQL은 문장 단위의 실행만을 할 수 있었다. 하나의 INSERT와 UPDATE가 위아래에 있다면 우연히 코딩한 위치가 비슷할 뿐, 서로 독립적인 것이었다. PL/SQL은 ANSI-SQL의 확장팩(변수, 제어 흐름(제어문), 객체(메서드) 정의)으로서, 이러한 SQL의 한계를 해소한다. 프로시저 프로시저(Procedure)는 메서드, 함수 등으로 구성된 순서가 있는 명령어의 집합이다. 모든 PL/SLQ 구문은 프로시저 내에서만 작성/동작이 가능하다. 이때 프로시저가 아닌 영역은 ANSI-..

Programming/Oracle

[Oracle] 정규화 (Normalization)

💡정규화 정규화(Nomalization)는 자료의 손실이나 불필요한 정보를 없애고, 데이터의 일관성을 유지하며, 데이터의 종속성을 최소화해 주기 위해 ERD를 수정하는 작업이다. 쉽게 말해 모델링 작업을 하면서 만들어진 ERD를 올바르게 했는지 검증하는 작업이다. 정규화를 하면 ERD의 안정성이 높아지고, 작업하기 편하게 바뀐다. 최종적으로 정규화는 '부분 함수 종속'이나 '이행 함수 종속'을 모두 제거하고, 모든 컬럼의 관계를 '완전 함수 종속'으로 만드는 작업이다. 정규화의 상태 우리가 만든 테이블(ERD)를 비정형 상태 또는 비 정규화 상태라고 말한다. 이를 정규화 과정을 통해 올바르게 수정하고 고치고 나면 정규화 상태라고 한다. 대부분의 개발자들은 만들 때부터 정규화를 하면서 만든다. 정규화의 종..

Programming/Oracle

[Oracle] 데이터베이스 설계 (Data Modeling)

💡데이터베이스 설계 1. 요구사항 수집 및 분석 2. 개념 데이터 모델링 3. 논리 데이터 모델링 4. 물리 데이터 모델링 5. 데이터베이스 구축(구현) 단계를 거쳐서 내려올수록 추상적인 설계도에 구체적인 내용이 추가된다. 현업에서는 논리 데이터 모델링부터 시작하기도 한다. 데이터 모델링 데이터 모델링은 요구 분석을 기반으로 분석하여 저장 구조를 만들고 도식화하는 작업이다. 도식화를 하면서 나오는 대표적인 산출물은 ERD이 있으며, 데이터 모델링은 최종적으로 ERD(Entity Relationship Diagram)를 만드는 작업이라고 생각하면 된다. 다시 말하면 데이터를 저장하기 위한 데이터 구조를 설계하는 작업이라고 할 수 있다. 개념 / 논리 / 물리 다이어그램 개념 다이어그램 개념 다이어그램은 아..

Programming/Oracle

[Oracle] null 함수

💡null 함수 nvl(컬럼, 값) nvl(컬럼, 값, 값) nvl(null value)은 null을 치환하는 함수이다. null value case end 사용 SELECT name, CASE WHEN population IS NOT NULL THEN population WHEN population IS NULL THEN 0 END FROM tblCountry; nvl 사용 SELECT name, nvl(population, 0) FROM tblCountry; null 함수는 null 전용의 replace 함수라고 볼 수 있다. null을 찾아서 0으로 값을 바꿔주었다. 일련번호 만들기 CREATE TABLE tblItem ( seq NUMBER PRIMARY KEY, name varchar2(100)..

Programming/Oracle

[Oracle] SELECT문 정리 모음

WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_ex 📌SELECT문 2023.08.29 - [Programming/Oracle] - [Oracle] SELECT문 [Oracle] SELECT문 💡SELECT문 SELECT문은 DML, DQL에서 사용된다. SQL은 SELECT로 시작해서 SELECT로 끝난다는 말이 있을 정도로 SQL은 SELECT 위주이다. SELECT문의 구성 전체 SELECT문 [WITH ] SELECT column_list FROM table_name [WHERE search_c ..

Isaac-Christian
'Programming/Oracle' 카테고리의 글 목록 (2 Page)