728x90
프로시저(Procedure)란?
- 특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그램
- 데이터베이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템이 저장한 것
- 테이블에서 데이터를 추출, 조작하고 결과를 다른 테이블에 다시 저장하거나 갱신하는 처리를 할 때 프로시저를 사용한다.
프로시저와 함수 차이점
- 함수는 반드시 값을 반환해야 하지만 프로시저는 반환 값을 가질 수 없습니다.
- 함수는 SQL 쿼리에서 사용할 수 있지만 프로시저는 사용할 수 없습니다.
- 함수는 일반적으로 데이터를 처리하는 데 사용되지만 프로시저는 일반적으로 데이터베이스 객체를 조작하는 데 사용됩니다.
함수와 프로시저의 차이점
특성 | 함수 | 프로시저 |
반환 값 | 필수 | 선택사항 |
SQL 쿼리 | 사용 가능 | 사용 불가 |
데이터 처리 | 일반적으로 사용 | 일반적으로 사용하지 않음 |
데이터베이스 객체 조작 | 일반적으로 사용하지 않음 | 일반적으로 사용 |
프로시저 생성 + 수정
CREATE OR REPLACE PROCEDURE 프로시저명 (파라미터1,파라미터2...);
IS
[변수 선언]
BEGIN
쿼리문
[EXCEPTION]
END;
프로시저 조회
-- 프로시저명으로 조회
SELECT * FROM USER_SOURCE WHERE TYPE = 'PROCEDURE' AND NAME = '프로시저명';
--전체 프로시저 조회
SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE';
프로시저 삭제
DROP PROCEDURE 프로시저명;
728x90
'STUDY > DB SQL' 카테고리의 다른 글
[SQL] 오라클 DELETE,UPDATE후 COMMIT한 데이터 복구 방법 (0) | 2023.07.14 |
---|---|
[SQL] 오라클 문자열 치환 - REPLACE 와 REGEXP_REPLACE (0) | 2023.07.13 |
[SQL] 오라클 ORA-01439: 데이터 유형을 변경할 열은 비어 있어야 합니다 해결하기 (1) | 2023.07.06 |
[Oracle] SQL Developer DML명령문 자동 생성 (0) | 2023.07.03 |
[SQL] 오라클 코멘트 (comment) 조회와 설정 방법 (0) | 2023.06.27 |