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
반응형
'study_db' 카테고리의 다른 글
오라클 뷰를 이용한 DB 세션 죽이기 (V$SESSION, V$SQL, V$SQLAREA) (0) | 2023.12.09 |
---|---|
오라클 PRAGMA AUTONOMOUS_TRANSACTION, 자율 트랜잭션 지정하기 (1) | 2023.12.07 |
오라클 랜덤 정수 or 랜덤 문자열 가져오기 (0) | 2023.11.10 |
오라클 LPAD, RPAD 함수 : 공백 채우기 (0) | 2023.09.15 |
오라클 INSTR 함수 : 텍스트 인덱스 가져오기, (indexOf) (0) | 2023.09.15 |