mysql 함수 예제

매개 변수 형식 및 함수 반환 형식은 유효한 데이터 형식을 사용하도록 선언할 수 있습니다. CHARACTER SET 사양 앞에 오는 경우 COLLATE 특성을 사용할 수 있습니다. SQL SECURITY DEFINER 특성으로 정의된 저장된 루틴본내에서 CURRENT_USER 함수는 루틴의 DEFINER 값을 반환합니다. 저장된 루틴 내에서 사용자 감사에 대한 자세한 내용은 섹션 6.2.22, “SQL 기반 계정 활동 감사”를 참조하십시오. 저장된 함수는 저장된 함수를 직접 정의해야 한다는 점을 제외하면 기본 제공 함수와 같습니다. 저장된 함수가 만들어지면 다른 함수와 마찬가지로 SQL 문에서 사용할 수 있습니다. 저장된 함수를 만들기 위한 기본 구문은 함수 본문에 하나의 RETURN 문을 포함해야 하는 아래에 표시된 대로 입니다. Mysql 내장 함수와 마찬가지로 Mysql 문 내에서 호출할 수 있습니다. 또한 저장된 함수에 SQL 문이 포함되어 있는 경우 다른 SQL 문 내에서 사용하지 않아야 합니다. 그렇지 않으면 저장된 함수가 쿼리 속도를 느리게 합니다. 넷째, 동일한 입력 매개 변수의 경우 저장된 함수가 동일한 결과를 반환하는 경우 결정적 인 것으로 간주됩니다. 그렇지 않으면 저장된 함수가 결정적이지 않습니다. 저장된 함수가 결정적인지 여부를 결정해야 합니다.

잘못 선언하면 저장된 함수가 예기치 않은 결과를 생성하거나 사용 가능한 최적화가 사용되지 않아 성능이 저하될 수 있습니다. 우리는 이미 문자열 함수가 하는 일을 살펴보았습니다. 이를 사용하는 실용적인 예제를 살펴보겠습니다. 영화 테이블에서 영화 제목은 소문자와 대문자의 조합을 사용하여 저장됩니다. 대문자로 동영상 제목을 반환하는 쿼리 목록을 얻으려고 한다고 가정합니다. 우리는 “UCASE”기능을 사용할 수 있습니다. 문자열을 매개 변수로 사용 하며 모든 문자를 대문자로 변환합니다. 아래 표시된 스크립트는 “UCASE” 함수의 사용을 보여 줍니다. 다음 예제 함수는 매개 변수를 사용하고 SQL 함수를 사용하여 작업을 수행하고 결과를 반환합니다.

이 경우 함수 정의에 내부가 포함되어 있지 않으므로 구분 기호를 사용할 필요가 없습니다. 문 구분 기호: MySQL은 여러 문자열 함수를 지원합니다. 모든 기본 제공 문자열 함수의 전체 목록은 MySQL 웹 사이트에서 http://dev.mysql.com/doc/refman/5.0/en/string-functions.html 이 링크를 참조하십시오. 저장된 함수의 기본 예제를 보여 주기 위해 테스트 목적으로 사용할 수 있는 데이터베이스를 만들어 보겠습니다. 다음 SQL 문에서 사용자 이름을 계정 사용자 이름으로 바꾸기: 다음 예제에서는 OUT 매개 변수를 사용하는 간단한 저장 프로시저를 보여 줍니다. 저장된 함수는 일부 작업을 수행하고 단일 값을 반환하는 SQL 문 집합입니다. CREATE FUNCTION 문은 MySQL에서도 UdF(사용자 정의 함수)를 지원하는 데 사용됩니다. 섹션 29.4, “MySQL에 새 기능 추가”를 참조하십시오.

UDF는 외부 저장 함수로 간주할 수 있습니다. 저장된 함수는 네임스페이스를 UdF와 공유합니다. 서버가 다양한 종류의 함수에 대한 참조를 해석하는 방법을 설명하는 규칙은 섹션 9.2.4, “함수 이름 구문 분석 및 해결”을 참조하십시오. 저장 프로시저를 호출하려면 CALL 문을 사용합니다(섹션 13.2.1, “CALL 구문”참조). 저장된 함수를 호출하려면 식에서 참조하십시오. 함수는 식 평가 중에 값을 반환합니다. RETURNS 절은 필수 함수에 대해서만 지정될 수 있습니다. 함수의 반환 형식을 나타내고 함수 본문에 RETURN 값 문을 포함 해야 합니다.