PL / SQL 함수

PL / SQL 함수

I. 소개

오라클 할 수 데이터베이스에 PL / SQL 프로그램을 저장 하고 실행아무 곳 . 이를 저장 프로 시저 또는 함수 라고 합니다 . 프로 시저와 함수를 총칭하여 PL / SQL 서브 루틴 이라고 하며 데이터베이스에 저장되고 입력, 출력 매개 변수 또는 입력 및 출력 매개 변수를 통해 호출자와 정보를 교환하는 PL / SQL 블록 이라고 합니다. 프로 시저와 함수의 유일한 차이점은 함수는 항상 호출자에게 데이터를 반환 하는 반면 프로시 저는 데이터를 반환하지 않는다는 것 입니다.

두 사람은 함수를 만들고 호출합니다.

1 임베디드 함수 생성
(1) 구문은 다음과 같습니다.

기술:

  1. OR REPLACE는 선택 사항입니다.이를 사용하여 새 함수를 만들거나 충돌없이 동일한 이름의 함수를 바꿀 수 있습니다.
  2. 함수 이름 뒤에는 IN, OUT 또는 IN OUT 태그가 포함 된 선택적 매개 변수 목록이 있습니다. 매개 변수는 쉼표로 구분됩니다. IN 매개 변수 태그는 함수에 전달 된 값이 함수 실행 중에 변경되지 않음을 나타냅니다 . OUT 태그는 가치 함수에서 계산하고 매개 변수를 통해 호출 문에 전달 나타내는 상기 IN OUT 표시가 함수에 전달 된 값을 변경하고, CALL 명령으로 전달 될 수 있음을 나타낸다 . 표기를 생략하면 매개 변수는 내재적으로 IN입니다.
  3. 함수는 값을 반환해야하므로 RETURN에는 반환 된 결과의 데이터 유형이 포함됩니다.
CREATE OR REPLACE ] FUNCTION function_name
	[ (argment [ {
    
    IN | IN OUT }]Type,
	 argment [ {
    
     IN | OUT | IN OUT } ] 	Type ]
	[ AUTHID DEFINER | CURRENT_USERR ]
	RETURN return_type
{
    
    IS | AS }
	<类型 变量的说明>
BEGIN
	FUNCTION_body
EXCEPTION
	其它语句
END

(2) 사례
① 매개 변수가없는 기능
여기에 사진 설명 삽입
이 기능을 실행합니다.
여기에 사진 설명 삽입
② 특정 부서의 급여 합계를 가져옵니다
여기에 사진 설명 삽입
.이 기능을 실행합니다.
여기에 사진 설명 삽입

2 내장 함수 호출
함수가 선언 될 때 정의 된 매개 변수를 형식 매개 변수라고하고 응용 프로그램이 호출 될 때 함수에 전달되는 매개 변수를 실제 매개 변수라고합니다. 응용 프로그램이 함수를 호출 할 때 다음 세 가지 방법을 사용하여 매개 변수를 함수에 전달할 수 있습니다.
① 첫 번째 매개 변수 전달 형식을 위치 표기법이라고하며 형식은 다음과 같습니다.

argument_value1[,argum ent_value2 …]

사례 : 급여 부서의 합계 계산
여기에 사진 설명 삽입
② 두 번째 형식은 이름 매개 변수 전달 표현 형식이라고합니다.
여기서, 인수는 매개 변수 형식이며, 정의 할 매개 변수 이름 형식은 함수 선언과 동일 합니다. 매개 변수는 실제 매개 변수입니다. 이 형식에서는 상황 매개 변수와 실제 매개 변수가 쌍으로 나타나고 이들 간의 관계가 고유하게 결정되므로 매개 변수의 순서를 임의로 정렬 할 수 있습니다.

argument => parameter [,]

사례 : 특정 부서의 임금 합계를 계산합니다.
여기에 사진 설명 삽입
③ 세 번째 매개 변수 전송 형식은 혼합 표기법이라고합니다.
즉, 함수 호출시 위치 표기법과 이름 표기법을 모두 사용하여 매개 변수를 함수에 전달합니다
. 이 매개 변수 전달 방법을 사용하면 위치 매개 변수 방법을 나타내도록 매개 변수 이름 앞에 전달되어야하는 법칙을 전달 합니다. 즉, 함수에있는 매개 변수의 수에 관계없이 하나의 매개 변수가 이름 표기법을 사용하는 한 모든 후속 매개 변수는 이름 표기법을 사용해야합니다.
사례 : 특정 부서의 임금 합계 계산
여기에 사진 설명 삽입
어떤 매개 변수 전송 방법을 채택하더라도 실제 매개 변수와 공식 매개 변수 간의 데이터 전송 방법은 주소 전송 방법과 값 전송 방법 두 가지뿐입니다 . 소위 주소 전송 방법함수를 호출 할 때 실제 매개 변수의 주소 포인터가 형식 매개 변수에 전달되어 형식 매개 변수와 실제 매개 변수가 메모리의 동일한 영역을 가리 키도록하는 것을 의미합니다. 매개 변수 데이터 전송. 이 방법은 참조 방법이라고도합니다. 즉, 형식 매개 변수는 실제 매개 변수 데이터를 참조합니다. 입력 매개 변수는 모두 주소 방식으로 전송되며,
전송 방식실제 매개 변수의 주소를 전달하는 대신 실제 매개 변수 데이터를 형식 매개 변수에 복사하는 것을 말합니다 . 기본적으로 출력 매개 변수와 입력 및 출력 매개 변수는 모두 값 전달 방법을 채택합니다 . 함수가 호출되면 ORACLE은 실제 매개 변수 데이터를 입력 및 출력 매개 변수에 복사하고, 함수가 정상 작동을 종료하면 출력 형식 매개 변수와 입력 및 출력 형식 매개 변수 데이터를 실제 매개 변수 변수에 복사합니다.

3 매개 변수 기본값
CREATE OR REPLACE FUNCTION 문에서 함수 매개 변수를 선언 할 때 DEFAULT 키워드를 사용하여 입력 매개 변수에 대한 기본값을 지정할 수 있습니다.
여기에 사진 설명 삽입
기본값이있는 함수가 생성 된 후 함수가 호출 될 때 기본값이있는 매개 변수에 대해 실제 매개 변수 값이 제공되지 않으면 해당 함수
는 매개 변수의 기본값을 사용합니다. 그러나 호출자가 기본 매개 변수에 대한 실제 매개 변수를 제공하면 함수는 실제 매개 변수 값을 사용합니다. 함수를 생성 할 때 입력 매개 변수에 대해서만 기본값을 설정할 수 있으며 입력 및 출력 매개 변수에 대해서는 설정할 수 없습니다 .
여기에 사진 설명 삽입

세 가지 삭제 기능

DROP FUNCTION 명령을 사용하여 불필요한 함수를 삭제할 수 있습니다. 구문은 다음과 같습니다.

DROP FUNCTION [user.]Function_name;

추천

출처blog.csdn.net/hcyxsh/article/details/115000183