>  기사  >  데이터 베이스  >  mysql 저장 프로시저와 저장 함수의 차이점은 무엇입니까?

mysql 저장 프로시저와 저장 함수의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-12-13 17:57:016973검색

차이점: 1. 저장 함수에는 더 많은 제한이 있지만 저장 프로시저에는 더 적은 제한이 있습니다. 2. 저장 프로시저의 구현 기능은 더 복잡하지만 저장 함수의 구현 기능은 더 구체적입니다. 3. 저장 함수에는 반환이 있어야 합니다. 값, 저장 프로시저는 반환 값을 가질 수 없습니다. 4. 호출 시간의 차이 5. 매개변수의 차이.

mysql 저장 프로시저와 저장 함수의 차이점은 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

저장 프로시저 및 저장 함수는 객체 지향 프로그래밍 언어의 메서드와 유사하므로 코드를 단순화하고 코드 재사용성을 향상시킬 수 있습니다. 이 문서에서는 저장 프로시저 및 저장 함수를 만드는 방법과 저장 프로시저 및 함수의 사용, 수정, 삭제 및 기타 작업을 주로 소개합니다.

저장 프로시저 및 저장 함수

MySQL은 저장 프로시저와 저장 함수 메커니즘을 제공합니다. 임시로 저장 프로시저와 저장 함수를 저장 프로시저라고 하겠습니다. 먼저 컴파일한 후 즉시 실행해야 하는 일반적인 SQL 문과 달리, 저장 프로그램은 사용자가 저장 프로그램의 이름을 지정하면 특정 기능을 완료하도록 설계된 SQL 문 집합입니다. 그리고 매개변수를 제공합니다(저장 프로시저가 매개변수와 함께 호출될 때만 실행되는 경우).

저장 프로그램은 하나 이상의 SQL 문과 제어문의 모음입니다. 물론 그 역할은 일괄 처리에만 국한되지 않습니다. 저장 프로시저는 프로그램이 다양한 애플리케이션이나 플랫폼에서 동일한 기능을 수행하거나 특정 기능을 캡슐화하려는 경우에 유용합니다. 데이터베이스의 저장 프로시저는 데이터 액세스 방법을 제어할 수 있는 개체 지향 프로그래밍에 대한 개체 지향 접근 방식으로 볼 수 있습니다.

저장 함수와 저장 프로시저의 차이점은 다음과 같습니다.

(1) 저장 함수에는 많은 제한이 있습니다. 예를 들어 임시 테이블을 사용할 수 없으며 테이블 변수만 사용할 수 있지만 저장 프로시저는 제한이 적습니다. ; 저장 프로시저 구현 기능이 더 복잡하고 기능 구현 기능이 더 구체적입니다.

(2) 반환 값이 다릅니다. 저장 함수에는 반환 값이 있어야 하며, 하나의 결과 값만 반환해야 합니다. 저장 프로시저는 반환 값이 없지만 결과 집합(out, inout)을 반환할 수 있습니다.

(3) 전화할 때의 차이. 저장 함수는 SQL에 내장되어 있으며 select에 함수 이름(변수 값)을 저장할 수 있습니다. 저장 프로시저는 call 문을 통해 호출되고 저장 프로시저 이름을 호출합니다.

(4) 매개변수의 차이. 저장된 함수의 매개변수 유형은 IN 매개변수와 유사하며 OUT 및 INOUT과 유사한 매개변수는 없습니다. 저장 프로시저에는 IN, out 및 INOUT의 세 가지 매개 변수 유형이 있습니다.

  a. in: 데이터는 내부 사용(값 전송)을 위해 외부에서 내부로만 전달되며 숫자 값 또는 변수일 수 있습니다. b. out: 프로시저 내부에서만 허용됨 사용(외부 데이터 없음), 외부 사용(참조 전송: 내부에 들어가기 전에 외부 데이터가 먼저 지워짐), 변수만 가능

   c. 내부적으로 사용하거나 내부적으로 수정하여 사용할 수도 있습니다. 외부 사용의 경우 일반적인 참조 전송에서는 변수만 전달할 수 있습니다.

【관련 추천:

mysql 비디오 튜토리얼

위 내용은 mysql 저장 프로시저와 저장 함수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.