컴퓨터 지식 네트워크 - 컴퓨터 문답 - 저장 프로시저 구문

저장 프로시저 구문

저장 프로시저와 함수의 목적은 데이터베이스를 작동하는 SQL 문 모음을 재현 가능하게 실행하는 것입니다.

글과 전화의 차이입니다.

쓰기: 저장 프로시저의 매개변수 목록에는 입력 매개변수, 출력 매개변수, 입출력이 가능한 매개변수가 있을 수 있으며,

함수의 매개변수 목록에는 입력 매개변수만 있습니다. 이며, return lt; 반환 값 유형이 있으며 길이 지정은 gt;가 아닙니다.

반환 값:

저장 프로시저의 반환 값은 여러 값을 가질 수 있습니다.

함수의 반환 값은 하나의 값만 갖습니다.

호출 방법:

저장 프로시저의 호출 방법은 다음과 같습니다.

1), exec lt;

2) lt; 프로세스 이름 gt;; 실행

3) PL/SQL 문 블록에서 직접 호출합니다.

함수 호출 방법은 다음과 같습니다.

PL/SQL 문 블록에서 직접 호출됩니다.

구체적으로는 다음과 같이 나누어집니다.

----FUNCTION add_ three_numbers 호출

----1. 위치 표현을 이용한 함수 호출

BEGIN

dbms_output.put_line(add_ three_numbers(2, 4, 5))

END

----2.

BEGIN

dbms_output.put_line(add_ three_numbers(b=gt; 3, a=gt; 4, c=gt; 2))

END;

----3. 함수 호출에 위치 표기법과 명명 표기법을 혼합합니다.

BEGIN

dbms_output.put_line(add_ three_numbers(3, b=gt; 4 , c=gt; 2));

END;

----4. 제외 표기법

BEGIN

dbms_output. put_line(add_ three_numbers(12,c=gt;2));

END;

----5. SQL 호출 표현--혼합 표현

SELECT add_ three_numbers(3, b=gt; 4, c=gt; 2) FROM DUAL;

----1 이 함수는 3개의 선택적 매개변수를 허용하고 3개의 숫자를 반환합니다.

함수 만들기 또는 바꾸기 add_ three_numbers

(

a NUMBER:=0, b NUMBER:=0, c NUMBER:=0

)

반환 번호는

BEGIN

반환 a b c

END

저장된 절차:

기본 구문:

프로시저 만들기 lt; 프로시저 이름 gt; (lt; 매개변수 목록, 매개변수가 없으면 gt 무시)

as|is

변수 선언 , 초기화

시작

비즈니스 처리, 논리 코드

예외

예외 캡처, 내결함성 처리

end lt; 프로시저 이름 gt;;

매개변수: lt; 매개변수 이름 gt; in|out|in out lt; 길이 지정 없음 gt; p>in: 입력 매개변수

out: 출력 매개변수

in out: 입력 및 출력 매개변수

참고: as|is는 as 또는 is를 의미합니다.

호출 구문:

1) exec lt; 프로세스 이름 gt;;

2) 실행 lt; 3) PL/SQL 문 블록에서 직접 호출합니다.

예:

up_wap(v_param1 in out varchar2, v_param2 in out varchar2)

is

v_temp varchar2( 20);

시작

dbms_output.put_line('교환 전 매개변수 1: '||v_param1||' 매개변수 2: '||v_param2);

v_temp:=v_param1;

v_param1:=v_param2;

v_param2:=v_temp;

dbms_output.put_line('교환 후 매개변수 1:'|| v_param1||' 매개변수 2: '||v_param2);

예외

다른 경우 dbms_output.put_line('up_wap 프로시저를 실행할 때 오류가 발생했습니다!');

end up_wap;

/

-- 저장 프로시저 호출

선언

v_param1 varchar2(20): ='param1';

v_param2 varchar2(20):='param2';

시작

up_wap(v_param1 =gt; v_param1, v_param2 =gt; v_param2);

end;

/

사용자 정의 함수(함수)

기본 구문:

create function lt; 함수 이름 gt; (lt; 매개변수 목록, 매개변수가 없으면 gt 무시)

return lt; 길이 설명 없음 gt; /p>

변수 선언, 초기화

시작

비즈니스 처리, 논리 코드

return lt; 반환된 값 gt;; p>예외

예외 포착, 내결함성 처리

end lt;

매개변수: 입력 매개변수에 있음

참고: 입력 매개변수 유형만 해당됩니다.

저장 프로시저 및 사용자 정의 함수의 매개변수 전송(입력 매개변수 및 출력 매개변수)은 유형 또는 행 유형 일치를 사용할 수 없으며 Null 값을 사용할 수 없지만 저장 프로시저는 Null 값을 반환할 수 있습니다.

예:

uf_select_name_by_id_test 함수 만들기(v_id는 숫자)

return varchar2

is

v_name t_test .t_nametype;

시작

t_test에서 t_name을 v_name으로 선택합니다. 여기서 t_id=v_id;

return v_name;

예외

다른 경우에는 dbms_output.put_line('error');

end uf_select_name_by_id_test;

/

이중에서 uf_select_name_by_id_test(1) 이름을 선택합니다. -- 호출 선택

declare --pl/sql 명령문 ​​블록 호출

v_name varchar2(20);

시작

v_name: =uf_select_name_by_id_test(1);

dbms_output.put_line('name = '||v_name);

end;

/

上篇: 광저우 탁구장은 어디에 있나요? 下篇: 소형 태양광 발전의 장점과 단점은 무엇인가요?
관련 내용