본문 바로가기
study_db

오라클 함수 생성하기 create or replace FUNCTION

by developer_j 2023. 12. 7.
728x90
반응형

오라클 함수 생성하기

 

구조

 

CREATE만 작성 시, 함수 수정해서 저장은 되지만 컴파일이 완료되지 않음. 컴파일됨(오류 발생)

 

② [ ] -> 생략가능. DEFAULT 는 값을 넣지 않았을 의 기본 값이 된다

 

③ 결과값이 하나는 있어야 하므로 지정해준다.

지정 하지 않을 경우 발생하는 오류 :

•오류(6,1): PLS-00103: 심볼 "AS"를 만났습니다 다음 중 하나가 기대될 때: return

 

④ 지역변수는 BEGIN 내의 실행할 쿼리문에서 사용될 변수. 결과변수는 함수 호출한 결과를 저장할 결과변수.

 

⑤ 실행할 쿼리문은 자유롭게 작성가능하나 INTO 로 결과변수에 결과값을 세팅해주어야 한다.

오류(8,3): PLS-00428: 해당 SELECT 문에 INTO 절이 필요합니다.

캡처

 

⑥ 결과변수 없이 RETURN;만 작성하면 오류 발생

캡처

 또는 RETURN; 을 아예 작성하지 않으면 컴파일은 잘 되지만, 함수 호출 시 오류가 발생한다.

함수가 값을 리턴하지 못했습니다

 

create or replace FUNCTION FN_PLUS_5
(
/** 5를 더해주는 함수 ㅎ;; **/
  p_testNumberString IN NUMBER DEFAULT 0
) 
RETURN VARCHAR2 
IS V_RTN VARCHAR2(100);

BEGIN
  SELECT TO_NUMBER(p_testNumberString) + 5 INTO V_RTN FROM DUAL;
  RETURN V_RTN; 
END FN_PLUS_5;

 

728x90
반응형