Notice
Recent Posts
Recent Comments
Link
투케이2K
83. (TWOK/UTIL) [Mysql/DB] 함수 (Function) - input , output 본문
[설 명]
프로그램 : Mysql / DB
설 명 : 함수 (Function) - input , output
[소스 코드]
/**************************************************************/
-- [DELIMITER : 함수 앞,뒤의 위치하여 안에 있는 부분은 한번에 실행]
DELIMITER $$
/**************************************************************/
DROP FUNCTION IF EXISTS FNC_USER_INFO; -- [이미 생성된 함수가 있으면 DROP]
CREATE FUNCTION FNC_USER_INFO -- [함수 생성]
(
I_NAME VARCHAR(100), -- [인풋 : 이름]
I_AGE INTEGER -- [인풋 : 나이]
)
RETURNS VARCHAR(500) -- [리턴 : 데이터]
/**************************************************************/
/***************************************************************
[함수 설명]
[설 명] : 사용자 정보 포맷 함수
[함수 호출] :
SELECT FNC_USER_INFO('홍길동', 15) AS 함수결과;
[함수 삭제] :
DROP FUNCTION FNC_USER_INFO;
[함수 생성 목록 확인] :
SHOW FUNCTION STATUS;
***************************************************************/
/**************************************************************/
BEGIN
/**************************************************************/
-- [전역 변수 선언]
DECLARE RETURN_DATA VARCHAR(500) DEFAULT '';
DECLARE M_DEBUG VARCHAR(100) DEFAULT '';
-- [SQL 수행 EXCEPTION 처리]
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- [리턴 데이터 삽입]
SET RETURN_DATA = CONCAT('N : EXCEPTION : M_DEGUB : [', CAST(M_DEBUG AS CHAR), ']');
-- [함수 호출 종료]
RETURN RETURN_DATA;
END;
-- [1] : 인풋 데이터 널 체크 수행 실시
SET M_DEBUG = '1'; -- [디버깅 단계]
IF I_NAME IS NULL OR I_NAME = '' OR LENGTH(I_NAME) = 0
OR I_AGE IS NULL OR I_AGE = 0 THEN
-- [리턴 데이터 삽입]
SET RETURN_DATA = CONCAT('N : INPUT DATA IS NULL : M_DEGUB : [', CAST(M_DEBUG AS CHAR), ']');
-- [함수 종료]
RETURN RETURN_DATA;
END IF;
-- [2] : [사용자 정보 포맷 수행 실시]
SET M_DEBUG = '2'; -- [디버깅 단계]
SET RETURN_DATA = CONCAT('Y : USER : NAME : ', CAST(I_NAME AS CHAR), ' AGE : ', CAST(I_AGE AS CHAR));
-- [3] : [리턴 데이터 반환]
SET M_DEBUG = '3'; -- [디버깅 단계]
RETURN RETURN_DATA;
/**************************************************************/
END$$;
DELIMITER ;
/**************************************************************/
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
85. (TWOK/UTIL) [Mssql/DB] 뷰 (VIEW) - create , drop (0) | 2022.10.18 |
---|---|
84. (TWOK/UTIL) [Oracle/DB] 뷰 (VIEW) - create , drop (0) | 2022.10.18 |
82. (TWOK/UTIL) [Mssql/DB] 함수 (Function) - input , output (0) | 2022.10.18 |
81. (TWOK/UTIL) [Oracle/DB] 함수 (Function) - input , output (0) | 2022.10.18 |
80. (TWOK/UTIL) [Mysql/DB] 프로시저 (PROCEDURE) - input , out (select msg , select cursor) (0) | 2022.10.18 |
Comments