본문 바로가기

💿DBMS/오라클6

프로시저 vs. 함수 DB에서 프로시저와 함수는 모두 사용자가 필요한 기능을 새롭게 정의하여 필요시에 호출할 수 있다는 공통점을 갖고 있다. 이런 공통점 때문에 둘의 차이를 헷갈릴 수 있기 위해 그 차이점을 명확하기 위해 글을 쓴다. 우선 들어가기 전에 둘의 차이를 리턴 값이 있느냐 없느냐에 따라 구분하는 것은 옳지 않다는 것을 미리 밝혀둔다. 왜냐면 프로시저도 리턴 값을 가질 수 있기 때문이다. 둘의 구조를 보면 알 수 있겠지만, 둘 다 리턴 값이 존재한다. CREATE PROCEDURE 프로시저명(IN 매개변수명 데이터형,..., OUT 반환값명 데이터형) BEGIN 프로시저 내용; END CREATE FUNCTION 함수명(매개변수1 데이터형,... 매개변수n 데이터형) RETURNS BEGIN 함수 내용; RETURN.. 2021. 7. 26.
[20210610] DDL, DCL, 오라클 자료형, PL/SQL DDL(Data Definition language, 데이터 정의 언어) TABLE, USER, VIEW, SEQUENCE, INDEX 등을 생성(CREATE), 변경(ALTER 또는 REPLACE), 삭제(DELETE, TRUNCATE)하는 것이 가능하다. - TABLE: 데이터가 저장된 저장 공간을 가진 객체, 사용자가 원하는 데이터를 액세스하기 위한 데이터의 의미와 속성이 정의된 객체이다. - CONSTRAINTS(제약조건): DB 테이블에서 입력(수정, 삭제)되는 데이터가 지켜야 하는 규칙이다. - DB에 접속한 계정이 자신의 스키마에 테이블을 생성하기 위한 조건이다. * DB 계정에 CREATE TABLE(테이블 생성) 권한이 부여되어 있어야 한다. * 저장 공간에 대한 권한(TABLESPACE.. 2021. 6. 10.
[20210609] 조인2, 서브쿼리, DML, TCL INNER JOIN: 조건에 맞는 항목만 출력된다. OUTER JOIN: 조건에 맞지 않은 항목도 출력된다. OUTER LEFT JOIN: 오른쪽 테이블의 칼럼이 왼쪽 테이블 칼럼 조건이 맞지 않아도 출력된다. OUTER RIGHT JOIN: 왼쪽 테이블의 칼럼이 오른쪽 테이블 칼럼 조건이 맞지 않아도 출력된다. 서브쿼리 1. 쿼리문 안쪽의 쿼리문이다. 2. 반드시 ( )로 감싼다. 3. 서브쿼리 먼저 실행된다. 4. 서브쿼리만 가지고도 실행된다. 5. 서브쿼리의 결과가 바깥 쿼리의 인자(매개변수)로 사용된다. 6. 서브쿼리의 대부분은 조인문으로 만들 수 있다. 7. 서브쿼와 조인문은 병행되어서 사용할 수 있다. SET 연산자: 두 개의 SELECT문들의 결과를 처리하는 방법 1.UNION: SELECT.. 2021. 6. 9.
[20210608] 단일 행 함수2, 다중 행 함수, 그룹 함수, 키, 조인 4. 일반 함수(GENERAL FUNCTION) NVL(), DECODE(), CASE 표현식, NVL2(), NULLIF(), COALESCE() 등등... NVL(칼럼명, 대체값): 칼럼의 NULL값을 대체 DECODE(칼럼명, 값1, 표현식1,..., 값N, 표현식N): 오라클에만 있는 함수이며, 각 케이스마다 표시할 값을 정해준다. 예) SELECT ENAME, JOB, SAL, DECODE(JOB, 'CLERK', 1.20*SAL, 'SALESMAN', 1.10*SAL, 'MANAGER', 0.95*SAL, SAL ) AS 연봉인상--마지막에 연산된 칼럼을 꼭 명시해야 된다. FROM EMP WHERE JOB IN('CLERK','SALESMAN','MANAGER') ORDER BY JOB; 오.. 2021. 6. 8.
728x90