Database

[DATABASE] Stored Function

ju_young 2023. 11. 27. 17:10
728x90
  • 사용자가 정의한 함수
  • DBMS에 저장되고 사용하는 함수
  • SQL의 select, insert, update, delete에서 사용할 수 있다.

예시

delimiter $$
CREATE FUNCTION id_generator()
RETURNS int
BEGIN
    RETURN (1000000000 + floor(rand() * 1000000000));
END
$$
delimiter;
  • 위 예시 쿼리는 ID의 맨 앞자리를 1으로 고정하여 생성하는 함수이다.
  • CREATE FUNCTION으로 함수명을 지정한다.
  • RETURNS 뒤에는 반환되는 데이터 타입을 지정해준다.
  • BEGIN ~ END 사이에 실제로 실행해야하는 내용을 작성한다.

IMPORTANT
;가 끝이라고 판단할 수 있기 때문에 delimiter를 지정해주어야한다.

함수 사용 예시

INSERT INTO article
VALUES (id_generator(), 'title', 'content');
  • id를 id_generator()를 사용한 결과로 지정할 수 있게된다.

함수 삭제

DROP FUNCTION [function_name];

함수 조회

SHOW FUNCTION STATUS where DB = 'company';
  • where에 DB를 지정해주면 지정한 DB에 생성된 function들을 출력한다.

NOTE
기본적으로 DB를 지정하지 않고 생성된 Function은 활성화된 DB에 생성된다.

함수 내용 출력

SHOW CREATE FUNCTION id_generator;

 

 

[reference]

728x90

'Database' 카테고리의 다른 글

[DATABASE] Trigger  (0) 2023.12.01
[DATABASE] Stored Procedure  (1) 2023.11.29
[DATABASE] ORDER BY, GROUP BY  (0) 2023.11.26
[DATABASE] JOIN  (1) 2023.11.26
[DATABASE] NULL  (0) 2023.11.23