- Today
- Total
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바스크립트
- 오라클
- sql
- pl/sql
- Hostinger
- wordpress
- iframe
- 워드프레스
- dbeaver
- 이클립스
- function
- 엘리멘터
- JSP
- PLSQL
- 오류해결
- 클론코딩
- Oracle
- 워스프레스
- 프로시저
- 함수
- 트러블슈팅
- javascript
- 문제해결
- 환경세팅
- PROCEDURE
- 배열
- spring boot
Archives
개발 공부중
[ORACLE] FUNCTION/PROCEDURE 차이점과 사용방법 본문
FUNCTION 과 PROCEDURE의 차이점
여기서 FUNCTION 과 PROCEDURE의 차이점은 목적과 반환 값 처리 방식에 있다.
FUNCTION의 목적은 값을 반환하는 것이다.
어떤 계산을 수행하고 그 결과를 RETURN 키워드를 사용하여 값을 반환한다.
예를 들어, 두 숫자를 더하고 결과를 반환하는 함수를 생각할 수 있다.
-- 두 숫자를 더한 값을 return 해주는 function
CREATE OR REPLACE FUNCTION add_numbers(
p_num1 NUMBER,
p_num2 NUMBER
) RETURN NUMBER
IS
result NUMBER;
BEGIN
result := p_num1 + p_num2;
RETURN result;
END add_numbers;
PROCEDURE는 값을 반환하지 않고, 어떤 일련의 작업을 수행하거나 프로시저 내에서 데이터를 조작하는 데 사용된다.
예를 들어, 데이터베이스에 새로운 레코드를 삽입하는 프로시저를 만들 수 있다.
-- 특정 부서의 직원 목록을 조회하는 PROCEDURE
CREATE OR REPLACE PROCEDURE get_department_employees(
p_department_id NUMBER
)
IS
BEGIN
-- 특정 부서의 직원을 조회하는 쿼리
FOR employee_rec IN (SELECT employee_id, employee_name FROM employees WHERE department_id = p_department_id)
LOOP
-- 조회된 각 직원 정보 출력
DBMS_OUTPUT.PUT_LINE('직원 ID: ' || employee_rec.employee_id || ', 이름: ' || employee_rec.employee_name);
END LOOP;
END get_department_employees;
/
디비버에서 FUNCTION / PROCEDURE 만드는 방법
1. 아래처럼 마우스 우클릭 -> create 해주면 된다.
2. 이름과 type을 정하고 확인
3. Declaration 에서 함수를 만들고 저장해준다.
4. 스크립트문에서 함수를 사용한다.
-- 함수 호출
DECLARE
total_result NUMBER;
BEGIN
-- 함수 호출 및 결과 출력
total_result := add_numbers(10, 20); --할당 연산자로, 변수에 오른쪽 표현식의 값을 할당
DBMS_OUTPUT.PUT_LINE('두 숫자의 합계: ' || total_result);
END;
FUNCTION / PROCEDURE 조회방법
SELECT * FROM DBA_SOURCE
WHERE TYPE = 'FUNCTION'
AND NAME = '함수명';
SELECT * FROM DBA_SOURCE
WHERE TYPE = 'PROCEDURE';
AND NAME = '프로시저명';
'ORACLE' 카테고리의 다른 글
[ORACLE] ROW_NUMBER() OVER(PARTITION BY - ORDER BY ) 사용방법 (2) | 2024.02.25 |
---|---|
[ORACLE] UNION 과 UNION ALL 사용예시와 오류 해결 방법 (0) | 2023.12.11 |
[ORACLE] 그룹함수 CUBE와 ROLLUP 사용예시와 차이점 (0) | 2023.11.29 |
[ORACLE] ROWNUM = 1 사용해서 중복데이터 오류 해결하고 하나의 로우만 가져오기 (0) | 2023.09.07 |
ORA-01045 / ORA-01950 - 사용자 권한부여 / 할당량부여 (0) | 2023.01.04 |
Comments