11. ORACLE :: PL/SQL, PROCEDURE, FUNCTION,TRIGGER, CURSOR 정리
·
Oracle DataBase
1. PL/SQLProcedural Language extension to SQL의 약자오라클 자체 내장된 절차적 언어SQL단점을 보완하여 문장 내에서 변수 정의, 조건 처리, 반복 처리 등을 지원함대입연산 기호 (:=) 바뀌므로 주의레코드 타입 변수: 다수의 자료형을 저장할 수 있는 일종의 묶음 자료형🚨 END; 아래 (/)슬래시를 입력해줘야 구문 전체를 실행시킬 수 있다.사전세팅 :: 출력용 환경변수 켜기프로시저를 사용하여 출력하는 내용을 화면에 띄워주는 환경변수를 ON처리 해줘야 변수를 볼 수 있음SET SERVEROUTPUT ON; → OFF가 디폴트접속할때마다 세팅해줘야함SET SERVEROUTPUT ON;begin dbms_output.put_line('안녕 PL/SQL'); -- o..
8. ORACLE :: DML구문(insert, upadate, delete) 정리
·
Oracle DataBase
DML(Data Manipulation Language)구문row(데이터)를 삽입, 수정, 삭제하는 명령어1. INSERT테이블에 새로운 행을 추가하여 행 개수를 증가시키는 구문: INSERT INTO 테이블명 [(컬럼명, …)] VALUES(값, 값, 값….)VALUES 값은 테이블 컬럼수와 타입이 같아야한다. (다르면 에러 발생)모든 컬럼에 값을 넣으려면 컬럼명을 생략해도 된다.단, 순서를 지켜서 값을 기입해주면 된다.일부 컬럼을 선택하지 않고 값을 넣을 경우 해당 칼럼은 null로 채워진다.not null 조건이 있다면 default 값으로 채워지며, not null인데도 default가 없다면 에러가 난다.VALUES 대신 서브쿼리를 이용할 수도 있다.-- 컬럼 3개인 테이블 복사 생성CREATE..
7. ORACLE 정리 :: DDL구문(create, alter, drop)
·
Oracle DataBase
DDL(Data Definition Language)데이터 정의 언어로 객체를 만들고, 수정하고, 삭제하는 구문이다.롤백 할 수 없다. 오라클 객체 종류 :테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 프로시저(PROCEDUAL), 함수(FUNCTION), 트리거(TRIGGER), 동의어(SYNONYM), 사용자(USER)1. CREATE 구문테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성하는 구문테이블 생성하기 :: CREATE TABLE@ 생성 방법CREATE TABLE 테이블명( 컬럼명 타입 [제약조건1 제약조건2 ...], 컬럼명 타입 [제약조건]....)컬럼(각 저장소)는 타입이 있음오라클 데이터형문자: CHAR, VARCHER..
6. ORACLE 정리 :: 서브쿼리(SUBQUERY) - 단일행, 다중행, 다중열, 상관, 스칼라
·
Oracle DataBase
0. 서브쿼리(SUBQUERY)란?주 SELECT문 안에 포함된 또 다른 보조 SELECT 문위치는 원하는 결과에 따라서 다르게 사용 가능주 select문의 컬럼위치, from절, where절에 사용가능select문의 컬럼위치 → 단일행, 스칼라 서브쿼리, 상관 서브쿼리SELECT 컬럼명, (SELECT 컬럼명 FROM 테이블)from절(인라인뷰, 스토어드뷰) → 다중행, 다중행다중열 서브쿼리 가상 테이블inline view: 1회용stored view: 저장해놓고 사용함FROM (SELECT 컬럼명 …… FROM 테이블)where절 → 단일행, 다중행, 다중열 서브쿼리, 상관 서브쿼리WHERE 컬럼명 비교연산(SELECT 컬럼명 FROM 테이블명)insert, update, create문에도 사용이 가..
5. ORACLE 정리 :: 집합 연산자(UNION)와 JOIN문
·
Oracle DataBase
1. 집합 연산자(UNION)여러 select 결과물을 하나의 쿼리로 만드는 연산자ex) 통합 로그인 시스템에서 사용자, 관리자, 사업자 회원의 데이터 테이블을 union 으로 묶어서 조회한다.🚨 조건첫번째 select문의 컬럼수 = 이후의 select문의 컬럼수같을 수 없다면 임의값이라도 넣어줘야함 (null)컬럼 타입 동일해야함 (문자, 문자 / 숫자, 숫자 등)변환해서라도 맞춰주면 된다. → TO_CHAR 등종류아래처럼 구분 칼럼을 만들어놓으면 어느 테이블에서 온건지 쉽게 구분할 수 있게 된다.create view v_avg_salaryas **select '부서' as div**, dept_code as cdoe, dept_title as title, floor(avg(salary)) as av..
4. ORACLE 함수(Function) :: 그룹 함수 정리
·
Oracle DataBase
그룹 함수테이블의 데이터를 집계하는 함수, 집계 결과는 1개만 출력이 되기 때문에 컬럼 선택에 제한이 있다.(1) 기본 그룹함수구분설명(그룹=선택한 컬럼)비고SUM(컬럼)합계 AVG(컬럼)평균 COUNT(컬럼/*)총 개수(ROW=데이터수)- 컬럼 : null인 row를 제외하고 계산 - * : 컬럼에 한개라도 값이 있으면 포함해서 계산MAX(컬럼)최대값없는 데이터면 null 출력MIN(컬럼)최소값 sum, avg**@ 다른 컬럼을 추가할 수 없다: 한번에 한개만 조회 가능**select sum(salary), **emp_name**from employee;-- 에러발생: "ORA-00937: 단일 그룹의 그룹 함수가 아닙니다."**@ 단, 그룹합수끼리는 추가조회가 가능하다**select sum(salar..