스토리지 생성 프로세스:
3719 단어 저장 프로세스
저장 프로세스
-- 정의:
대형 데이터베이스에서 저장 프로세스는 특정 기능을 완성하기 위한 SQL 문장 집합이다.
데이터베이스에 저장되며, 첫 번째 컴파일을 거친 후에 다시 호출되며, 다시 컴파일할 필요가 없습니다. 사용자는 저장 프로세스의 이름을 지정하고 파라미터를 제시하여 그것을 실행합니다. (만약 이 저장 프로세스에 파라미터가 있다면.)
저장 프로세스는 SQL 문의 기능과 유연성을 크게 향상시켰다.
-- 스토리지 프로세스를 생성합니다.
create procedure ( ) is/as
begin
end ;
-- 스토리지 프로세스를 수정하려면:
create or replace procedure ……
create 뒤에 or replace 추가
-- 스토리지 프로세스를 제거합니다.
drop procedure ;
-- 매개 변수가 없는 스토리지 프로세스:
Ex1: 간단한 저장 프로시저 만들기1, 이 프로세스를 호출할 때 emp표에 있는 empno가 7369인 직원의 ename을 CANDY로 수정합니다.
create procedure pro_1 as
begin
update emp set ename = 'CANDY' where empno = 7369;
end pro_1;
- 프로세스가 만들어진 후 프로세스체의 내용이 실행되지 않고 컴파일만 되어 이 프로세스를 호출해야 한다.
-- 호출 프로세스의 두 가지 형태: excute/call
exec pro_1;
또는
call pro_1();
-- 매개변수가 있는 저장 프로세스:
-- 프로세스의 매개 변수는 in 매개 변수와 out 매개 변수, in out 매개 변수로 나뉜다.
-- in 매개변수, 매개변수를 입력합니다.호출할 때 값을 입력해야 합니다.
정의할 때 매개 변수 형식을 설명하지 않으면 기본적으로 in 매개 변수입니다
-- out 매개 변수, 출력 매개 변수.호출이 끝난 후에 결과를 출력합니다.
- in out 매개 변수는 in 매개 변수와 out 매개 변수의 특성을 동시에 가지고 사용자의 전송 값을 받아들일 수 있을 뿐만 아니라 과정체에서 그 값을 수정하고 값을 되돌릴 수 있다.
그러나 상수 값은 받아들이지 않고 변수를 사용해서 전할 수밖에 없다.
-- in 매개변수:
Ex2: in 매개변수가 있는 저장 프로시저 생성2, 이 과정에 두 개의 in 파라미터를 설정하여 각각 사용자가 제공하는 empno와 ename을 받아들이는 데 사용한다.
그리고 프로 호출2, 이 과정을 통해 empno가 7369인 직원의 ename을 ELLA로 수정한다.
create procedure pro_2(emp_no in number,emp_name in VARCHAR2) is
begin
update emp set ename = emp_name where empno = emp_no;
end pro_2;
-- 지정의 형식은 주로 다음과 같은 두 가지가 있습니다.
-- 매개변수 이름을 지정하지 않습니다.
exec pro_2(6500,'ELLA');
-- 매개변수 이름을 지정합니다.
exec pro_2(emp_name => 'ELLA',emp_no => 7369);
-- out 매개 변수:
Ex3: Storage Processpro 생성3, 이 과정에 in 매개 변수와out 매개 변수를 설정하고 그 중에서 in 매개 변수는 사용자가 제공하는empno를 받아들인 다음에 이 과정체에서empno에 대응하는ename 값을out 매개 변수에 전달한다.
메모리 프로세스 프로시저 호출3, in 매개변수에 7369를 지정하고 변수 emp 를 선언합니다.name은 out 매개 변수의 반환 값을 받아들이고 출력합니다.
create procedure pro_3(emp_no in number,emp_name out VARCHAR2)is
begin
select ename into emp_name from emp where empno = emp_no;
end pro_3;
메모리 프로세스 프로시저 호출3
VARIABLE emp_name VARCHAR2(10);
exec pro_3(7369,:emp_name);
print emp_name;
- 주: 메모리 프로세스를 호출합니다. 이 과정에서out 매개 변수의 반환 값을 표시하려면variable 문장으로 대응하는 변수를 사용하여 반환 값을 받아들이고 호출 과정에서 이 변수를 연결해야 합니다.
- 참고: execute 문에서 변수를 바인딩할 때는 변수 이름 앞에 콜론을 추가해야 합니다(:)
-- in out 매개 변수:
Ex4: Storage Processpro 생성4, 이 과정을 통해 두 변수(n1/n2)의 값을 교환한다.
프로 호출4 프로세스, inout 매개 변수에 값을 부여하는 변수를 호출하고 호출 후 select 문장으로 교환 값을 출력한 결과를 호출합니다.
create procedure pro_4(n1 in out number,n2 in out number)is
temp1 number;
temp2 number;
begin
temp1 := n1;
temp2 := n2;
n1 := temp2;
n2 := temp1;
end pro_4;
프로 호출4 절차:
variable n1 number;
variable n2 number;
exec :n1 :=1111;
exec :n2 :=9999;
exec pro_4(:n1,:n2);
- 참고: execute 명령을 사용하여 변수에 값을 지정하고 변수 이름 앞에 콜론을 추가하려면(:)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 호출 Oracle 스토리지 프로세스 상세 정보Java 호출 Oracle 스토리지 프로세스 상세 정보 단계: 1. Oracle 스토리지 프로세스 작성 2. 데이터베이스 작성 연결 도구 클래스 얻기 3. 간단한 응용 프로그램 호출 저장 프로세스 작성 구현: 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.