Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 저장 함수는 무엇이며 어떻게 생성할 수 있습니까?


MySQL 저장 함수는 기본적으로 단일 값을 반환하는 특별한 종류의 저장 프로그램입니다. MySQL의 저장 함수를 사용하여 SQL 문이나 저장 프로그램 간에 재사용할 수 있는 주로 간단한 공식이나 비즈니스 규칙을 캡슐화할 수 있습니다. 그 외의 저장 함수는 표현식이 사용될 때마다 SQL 문에서 사용됩니다.

저장 함수의 이 기능은 저장 프로시저와 다릅니다. 실제로, 저장 함수 매개변수는 함수가 RETURN 키워드를 사용하여 전달되는 내용을 결정하기 때문에 저장 프로시저의 IN 매개변수와 동일합니다. 구문은 다음과 같을 수 있습니다. -

구문

CREATE
   [DEFINER = { user | CURRENT_USER }]
   FUNCTION sp_name ([func_parameter[,...]])
   RETURNS type
   [characteristic ...] routine_body

func_parameter:
   param_name type

type:
   Any valid MySQL data type

characteristic:
   COMMENT 'string'
 | LANGUAGE SQL
 | [NOT] DETERMINISTIC
 | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
 | SQL SECURITY { DEFINER | INVOKER }

routine_body:
   Valid SQL routine statement

함수에는 입력 매개변수만 있고 값을 반환하므로 반환 값의 데이터 유형을 나타내기 위해 함수 정의에 RETURNS 절이 있어야 합니다. 또한 호출자에게 값을 반환하려면 함수 본문 내에 최소한 하나의 RETURN 문이 있어야 합니다.