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

함수와 프로시저의 차이점

<시간/>

기능

기능, 컴퓨터 프로그래밍 언어 컨텍스트에서 일부 입력을 받아 특정 작업을 수행하는 일련의 명령. SQL에서 함수는 값을 반환합니다.

절차

절차도 입력을 받아 특정 작업을 수행하는 일련의 지침입니다. SQL에서 프로시저는 값을 반환하지 않습니다. 자바에서는 프로시저와 함수가 동일하며 서브루틴이라고도 합니다.

다음은 SQL 함수와 SQL 프로시저의 중요한 차이점입니다.

Sr. 아니요. 함수 절차
1 정의 함수는 주어진 입력을 사용하여 결과를 계산하는 데 사용됩니다. 절차는 특정 작업을 순서대로 수행하는 데 사용됩니다.
2 통화 함수는 프로시저에 의해 호출될 수 있습니다. 함수는 프로시저를 호출할 수 없습니다.
3 DML DML 문은 함수 내에서 실행할 수 없습니다. DML 문은 프로시저 내에서 실행할 수 있습니다.
4 SQL, 쿼리 쿼리 내에서 함수를 호출할 수 있습니다. 쿼리 내에서 프로시저를 호출할 수 없습니다.
5 SQL, 호출 함수가 호출될 때마다 호출되기 전에 먼저 컴파일됩니다. 프로시저는 한 번 컴파일되며 컴파일되지 않고 여러 번 호출될 수 있습니다.
6 SQL, 반환 함수는 호출하는 함수나 코드에 값과 제어를 반환합니다. 프로시저가 컨트롤을 반환하지만 호출하는 함수나 코드에 대한 값은 반환하지 않습니다.
7 캐치 시도 함수가 try-catch를 지원하지 않습니다. 프로시저는 try-catch 블록을 지원합니다.
8 선택 select 문은 함수 호출을 가질 수 있습니다. 선택 문은 프로시저 호출을 가질 수 없습니다.
9 명시적 트랜잭션 처리 함수는 명시적인 트랜잭션 처리를 가질 수 없습니다. 프로시저에서 명시적 트랜잭션 처리를 사용할 수 있습니다.