문자함수 : SUBSTR 문자열 자르기 SUBSTR("문자열", "시작위치", "길이") select username from usertbl where userid = 'LSG'; 예제 - 앞에서 부터 자르기 select substr(username,2) from usertbl where userid = 'LSG'; 예제 - 뒤에서 부터 자르기 select substr(username,-2,1) from usertbl where userid = 'LSG'; SQL/ORACLE SQL 2022.11.20
ERD : ER 다이어그램 1 데이터 베이스 설계 데이터베이스의 스키마 내에 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 정의하는 것. 주된 내용은 테이블의 이름이나 열, 자료형을 결정하는 것. 테이블 간의 관계를 생각하며 여러 테이블을 정의하고 작성하는 것. 스키마 데이터베이스의 구조와 제약조건에 관해 전반적으로 기술한 것 ER 다이어그램 ERD (Entity Relationship Diagram) 1. 요구사항 분석 (개념적 모델링) 기능을 추려내는 과정 2. 논리적 모델링 ER 모델링 과정 엔티티, 관계, 속성, 식별자 테이블, 칼럼, 관계 3. 물리적 모델링 테이블 명세서 엔티티, 관계, 속성, 식별자를 테이블, 칼럼, 관계로 변환 4. 구현 툴을 사용하여 논리적 모델링, 물리적 모델링을 섞어 표현하기도 한다 SQL/ORACLE SQL 2022.11.15
FUNCTION & TRIGGER : 함수와 트리 거 함수 FUNCTION 리턴 값이 존재함 (C와 비교 >> 프로시저는 VOID 함수, 함수는 RETURN값이 있는 함수) OUT변수를 사용하지 않고 결과값을 돌려주기 위한 용도 (매개변수를 사용하지 않는 게 아니다) 함수를 만들 때에는 FUNCTION이라고 씀 형식 CREATE OR REPLACE FUNCTION [함수 명]( [매개변수 명] [MODE] [데이터 타입]) RETURN [데이터 타입] --리턴 타입을 여기서 정함 IS [리턴하는 매개변수 명][데이터 타입] BEGIN RETURN [리턴 매개변수 명]; END; / 함수 호출 EXECUTE : [변수 명] := 함수명(매개변수 명); 예제 CREATE OR REPLACE FUNCTION GET_NAME( V_DNO DEPARTMENT.DNO.. SQL/ORACLE SQL 2022.11.14
PROCEDURE : 프로 시저 PROCEDURE : 프로 시저 일련의 작업들을 하나로 묶어서 저장해두었다가 호출하여 이런 작업들이 실행할 수 있게 해 준다 특정 작업을 위한 쿼리들의 블록 사용법 CREATE OR REPLACE PROCEDURE [프로시저 명]( [매개변수명] [MODE] [데이터형식]) IS [변수명] [데이터형식] -- 지역 변수 ); BEGIN ... END; 프로시저 호출 EXECUTE PROCEDURE [프로 시저 이름] 프로시저를 실행시키기 위해서는 EXECUTE 명령어를 사용 EXECUTE 뒤에 호출하고자 하는 프로시저 이름을 명시 프로시저를 삭제 DROP PROCEDURE [프로 시저 이름] 매개변수로 in, out, inout으로 총 세 가지 종류로 작성할 수 있다 IN 외부에서 프로시저 안으로 (매개.. SQL/ORACLE SQL 2022.11.14
PL/SQL : 커서 CURSOR CURSOR 커서 - SELECT 실행 경과가 여러 개의 로우 일 때 이를 처리하기 위해 사용 (결괏값이 여러 행일 경우) - CURSOR, OPEN, FETCH, CLOSE 4단계 1. DECLARE CURSOR - CURSOR를 선언하기 위해 DECLARE CURSOR 사용 2. OPEN CURSOR - 질의를 수행, 검색 조건을 충족하는 모든 행으로 구성된 결과를 생성하기 위해 CURSOR를 OPEN 합니다. - CURSOR는 이제 결과 셋에서 첫 번째 행을 가리킨다 (포인터와 비슷) 3. FETCH CURSOR - FETCH 문은 결과 셋에서 로우 단위로 데이터를 읽어 들인다. - FETCH 후에 CURSOR는 결과에서 다음 행으로 이동 4. EXIT WHEN~ CLOSE - 커서가 끝에 위치하게.. SQL/ORACLE SQL 2022.11.11
PL/SQL : 제어 문, 반복 문 제어 문 (선택문) IF THEN END IF IF THEN ELSE END IF IF THEN ELSIF IF - 조건에 따라 어떤 명령을 선택적으로 처리 DECLARE -- 선언부 --변수 선언 GRADE CHAR(10); RESULT VARCHAR2(30); BEGIN -- 실행부 GRADE := 'B'; --값을 대입 IF GRADE = 'A'THEN --비교연산자 (=) RESULT := 'A학점'; ELSIF GRADE = 'B'THEN RESULT := 'B학점'; ELSIF GRADE = 'C'THEN RESULT := 'C학점'; ELSE RESULT := '제적'; END IF; DBMS_OUTPUT.PUT_LINE('학점 : '||GRADE||'=>'||RESULT); EXCEPTIO.. SQL/ORACLE SQL 2022.11.11
PL/SQL : 변수 선언 PL/SQL 변수 상수 등을 선언하여 SQL과 절차적 언어에서 사용 DECLARE 선언부 - 모든 변수나 상수를 선언하는 부분 DECLARE로 시작됨 (필수아님) BEGIN 실행부 - 로직을 기술 할 수있는 부분 BEGIN으로 시작됨 (필수) EXCEPTION 예외처리부 - 에러가 발생(예외사항) 하면 이를 해결하기 위한 부분 EXCEPTION으로 시작됨 (필수아님) 쿼리문을 수행하기 위해서 ' / ' 가 반드시 입력되어야함 PL/SQL 블록은 ' / '가 있으면 종결됨확인 * 기본적으로 PL/SQL은 결과물을 보여주지 않는다. 결과물을 보고 싶다면 SERVEROUTPUT 설정 을 ON 으로 설정해 주어야 한다 SET SERVEROUTPUT ON --외부에 메세지를 출력하라는 뜻 (이것 먼저 실행 또는 .. SQL/ORACLE SQL 2022.11.11
VIEW : 뷰 VIEW (뷰) 하나 이상의 물리적인 테이블을 근거한 논리적인 가상 테이블 (메모리) 저장 장치 내에 물리적으로 존재하지 않는 다 (디스크 저장 공간이 할당되지 않음) 사용법 CREATE OR REPLACE VIEW [VIEWNAME] AS [SUBQUERY] [WITH CHECK OPTION] [WITH READ ONLY] VIEW를 사용하기 위해서는 권한이 필요하다 VIEW 권한 부여 (SYSTEM(관리자) 계정으로 부여) GRANT CREATE VIEW TO [사용자 계정]; VIEW는 테이블 수에 따라 단순 뷰(simple view), 복합 뷰(complex view)로 나뉨 VIEW는 보안과 사용의 편의성 때문 사용됨 보안을 위한 뷰 (예제) CREATE VIEW V_EMP_SAMPLE AS S.. SQL/ORACLE SQL 2022.11.10
제약 조건 : CHECK, DEFAULT CHECK 칼럼에서 허용 가능한 데이터의 범위나 조건을 정의하여 설정된 값만 허용함 설정된 이외의 값이 들어오면 오류 메시지와 함께 명령을 수행하지 못하게 함 CHECK 제약 조건의 수는 제한이 없다 CURRVAL, NEXTVAL, ROWNUM 같은 의사 칼럼 SYSDATE, USER와 같은 함수에는 사용 못함 사용법 CREATE TABLE [테이블명]( [칼럼명] [데이터 형식] CONSTRAINT [제약조건명] CHECK (조건) ); 예제 CREATE TABLE EMP_SECOND( ENO NUMBER(4) CONSTRAINT EMP_SECOND_ENO_PK PRIMARY KEY, ENAME VARCHAR2(10), SALARY NUMBER(4) CONSTRAINT EMP_SECOND_SALARY_.. SQL/ORACLE SQL 2022.11.10