Database/SQL
[SQL] 함수
gangintheremark
2021. 12. 6. 05:01
728x90
함수
- SP와 동일하게 데이터베이스에 저장되는 서브루틴이며 값을 리턴할 수 있다
- 함수는 SQL 문장 내에서 사용 가능
[함수 정의]
CREATE\[OR REPLACE\] FUNCTION <function\_name> {
<arg1> \[IN|OUT|IN OUT\] (data\_type),
<arg2> \[IN|OUT|IN OUT\] (data\_type),
...
}
IS|AS
...
return data\_type;
BEGIN
...
return expression;
END;
[함수 삭제]
DROP FUNCTION <function\_name>
[함수 카탈로그 정보]
ALL_OBJECTS
: where 절 조건에object_type = 'FUNCTION'
사용USER_PROCEDURES
: 사용자가 정의한 프로시저 및 함수USER_SOURCE
: 함수 소스 코드( 컴파일 에러 발생도 포함 )
🍀 함수 예시
CREATE OR REPLACE FUNCTION
to_str(year NUMBER)
IS
str nvarchar2(10);
BEGIN
CASE year
WHEN 1 THEN str := 'Fresh Man';
WHEN 2 THEN str := 'Sophonmore';
WHEN 3 THEN str := 'Junior';
WHEN 4 THEN str := 'Senior';
ELSE str := '???';
END CASE;
RETURN str;
END;
select sname, to\_str(year) from STUDENT;
-- 실행결과
-- >> 나수영 Senior
-- 이찬수 Junior
-- 정기태 Fresh Man
728x90