찾다
데이터 베이스OracleOracle 저장 프로시저의 예

저장 프로시저는 필요할 때 호출할 수 있는 일련의 SQL 문과 제어 문을 포함하는 미리 컴파일된 데이터베이스 프로그램입니다. 이 문서에서는 Oracle 데이터베이스 저장 프로시저에 대한 기본 지식과 예를 소개합니다.

1. 저장 프로시저의 기본

1.1 저장 프로시저의 장점

저장 프로시저는 데이터베이스 성능을 향상시키는 효과적인 방법입니다. SQL 문은 데이터베이스 측에서 미리 컴파일되어 호출 시 작업을 더 빠르게 완료할 수 있으므로 데이터베이스와의 애플리케이션 상호 작용 효율성이 향상됩니다. 또한 저장 프로시저가 데이터베이스에서 데이터를 생성하고 수정하기 전에 권한 검사를 수행할 수 있으므로 데이터 보안이 향상됩니다.

1.2 저장 프로시저 생성

Oracle SQL 개발 도구를 사용하여 저장 프로시저를 생성할 수 있습니다. Oracle SQL Developer 및 SQL Plus는 일반적으로 사용되는 도구입니다.

다음은 저장 프로시저를 생성하기 위한 기본 구문입니다.

CREATE [OR REPLACE] PROCEDURE 프로시저_이름
([parameter_name IN/OUT 데이터 유형 [, 매개변수 이름 IN/OUT 데이터 유형 …]])
IS
BEGIN
문(s );
EXCEPTION
예외 처리기;
END;

그 중 매개 변수는 선택 사항이며 '[OR REPLACE]' 명령은 응용 프로그램이 존재해야 하고 저장 프로시저의 상태를 유지하도록 지정할 수 있습니다.

1.3 저장 프로시저의 입력 및 출력 매개변수

저장 프로시저는 입력 매개변수와 출력 매개변수를 허용할 수 있습니다. 입력 매개 변수는 저장 프로시저 내에서 조건부 작업을 수행하거나 저장 프로시저에 데이터를 전달하는 데 사용될 수 있습니다. 출력 매개변수는 출력 프로세스에서 값이나 지정된 값과 같은 정보를 반환하는 데 사용됩니다.

다음은 일부 매개변수가 상호 작용하는 방식입니다.

IN: 입력 매개변수는 저장 프로시저에 값을 전달하는 데 사용됩니다.

OUT: 출력 매개변수는 입력 데이터에 사용되지 않지만 저장 프로시저를 통해 값을 반환할 수 있습니다.

INOUT: 입력/출력 매개 변수를 사용하면 값을 매개 변수로 전달할 수 있으며 저장 프로시저의 실행 반환 값을 통해 변경할 수 있습니다.

1.4 저장 프로시저의 예외 처리

저장 프로시저는 함수와 같은 예외를 처리할 수 있습니다. 저장 프로시저에서 오류가 발생하는 경우 예외 처리를 설정할 수 있습니다. 사용자 정의 오류 메시지 관리를 구현하고 지정된 동작을 사용하여 오류가 발생할 때 이러한 오류를 제출할 수 있습니다.

다음은 예외 처리 생성을 위한 기본 구문입니다.

DECLARE
예외_이름 EXCEPTION;
PRAGMA EXCEPTION_INIT (예외_이름, 오류_코드);
BEGIN
문;
EXCEPTION

  WHEN exception_name THEN
     statement(s);

END;

2. 인스턴스

다음은 몇 가지 일반적인 저장 프로시저 예입니다.

2.1 저장 프로시저의 단순 쿼리

다음은 테이블의 조건을 충족하는 데이터를 출력하는 간단한 저장 프로시저 예입니다.

CREATE OR REPLACE PROCEDURE get_emp_data
(
ID IN NUMBER,
NAME OUT VARCHAR2,
SALARY OUT NUMBER
)
IS
BEGIN
SELECT Employee_name,salary INTO NAME,SALARY FROM 직원 WHERE Employee_id = ID;
END;

위의 저장 프로시저 인스턴스에는 다음이 필요합니다. 2개의 매개변수 전달: ID는 정보를 쿼리할 직원의 ID를 정의하는 필수 입력 매개변수이고 이름과 급여는 각각 쿼리 결과에서 해당 열의 값을 허용하는 출력 매개변수입니다. .

저장 프로시저의 출력 매개변수 값을 검색합니다. 함수처럼 저장 프로시저를 호출할 수 있습니다.

DECLARE
emp_name VARCHAR2(20);
emp_salary NUMBER(10,2);
BEGIN
get_emp_data (100, emp_name,emp_salary);
DBMS_OUTPUT.PUT_LINE('이름: ' || emp_name);
DBMS_OUTPUT.PUT_LINE('Salary: ' || emp_salary);
END;

위 코드에서는 저장 프로시저 매개변수 ID가 설정되었습니다. 100으로 하면 직원의 이름과 급여가 반환됩니다.

2.2 저장 프로시저의 삽입 작업

다음은 지정된 직원 명단에 데이터 행을 삽입하는 기능을 구현하는 저장 프로시저의 예입니다.

CREATE OR REPLACE PROCEDURE add_employee
(
ID IN NUMBER,
NAME IN VARCHAR2,
AGE IN NUMBER,
SALARY IN NUMBER
)
IS
BEGIN
INSERT INTO 직원 VALUES (ID,NAME,AGE,SALARY);
COMMIT;
DBMS_OUTPUT.PUT_LINE('직원이 추가되었습니다.');
EXCEPTION
OTHERS THEN

DBMS_OUTPUT.PUT_LINE('Error adding employee.');

END;

위의 저장 프로시저 인스턴스에는 직원 ID, 직원 이름, 직원 연령, 직원 급여 등 4개의 입력 매개변수가 필요하며, 이 매개변수는 "직원" 테이블에 삽입됩니다. 삽입에 성공하면 "직원 추가" 메시지가 출력되고, 삽입에 실패하면 "직원 추가 오류" 메시지가 출력됩니다.

2.3 저장 프로시저의 업데이트 작업

다음 예에서는 직원 테이블에 지정된 ID를 가진 직원의 급여를 10% 늘리는 기능을 제공합니다.

CREATE OR REPLACE PROCEDURE raise_employee_salary
(
ID IN NUMBER
)
IS
커서 c_employee_salary IS

SELECT salary FROM employees WHERE employee_id = ID;

v_employee_salary NUMBER;
BEGIN
OPEN c_employee_salary;
c_employee_salary INTO v_employee_salary;
v_employee_salary := v_ Employee_salary * 1.1;
직원 업데이트 SET 급여 = v_employee _salary WHERE Employee_id = ID;
COMMIT;
DBMS_OUTPUT .PUT_LINE('급여가 인상되었습니다.');
EXCEPTION
WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('Employee not found.');

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE('Error increasing salary.');

END;

위의 저장 프로시저 예시에는 직원 ID라는 1개의 입력 매개변수가 필요하며, 직원 ID를 기준으로 직원의 급여를 가져오고 여기에 1.1을 곱하여 테이블에 업데이트합니다. 올바르게 업데이트되면 직원을 찾을 수 없으면 "급여 인상" 메시지가 표시되고, 다른 오류가 발생하면 "급여 인상 오류" 메시지가 표시됩니다.

요약

이 글에서는 Oracle 데이터베이스 저장 프로시저의 기본 사항과 몇 가지 예를 소개했습니다. 저장 프로시저는 데이터베이스 성능과 데이터 보안을 향상시킬 수 있으며 자주 수행해야 하는 작업에 매우 유용합니다. 몇 가지 예를 통해 Oracle 저장 프로시저를 만들고 사용하는 방법을 더 잘 이해할 수 있습니다.

위 내용은 Oracle 저장 프로시저의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Oracle : 데이터베이스에서 클라우드 서비스에 이르기까지Oracle : 데이터베이스에서 클라우드 서비스에 이르기까지May 02, 2025 am 12:05 AM

데이터베이스에서 클라우드 서비스로의 Oracle의 진화는 강력한 기술 강점과 시장 통찰력을 보여줍니다. 1. Oracle은 1970 년대에 시작되었으며 관계형 데이터베이스 관리 시스템으로 유명하며 PL/SQL과 같은 혁신적인 기능을 시작했습니다. 2. Oracle 데이터베이스의 핵심은 관계형 모델 및 SQL 최적화이며, 이는 다중 테넌트 아키텍처를 지원합니다. 3. Oracle Cloud Services는 OCI를 통해 IAA, PAA 및 SAA를 제공하며 자율적 인 성능은 잘 수행됩니다. 4. Oracle을 사용할 때는 클라우드 마이그레이션에서 복잡한 라이센스 모델, 성능 최적화 및 데이터 보안 문제에주의를 기울여야합니다.

Oracle and MySQL : 데이터 관리 접근법 탐색Oracle and MySQL : 데이터 관리 접근법 탐색May 01, 2025 am 12:13 AM

Oracle은 고성능 및 복잡한 쿼리가 필요한 엔터프라이즈 수준의 응용 프로그램에 적합하며 MySQL은 빠르게 개발 및 배포 된 웹 응용 프로그램에 적합합니다. 1. Oracle은 재무 및 대형 ERP 시스템에 적합한 복잡한 거래 처리 및 고 가용성을 지원합니다. 2.MYSQL은 사용 편의성과 오픈 소스 지원을 강조하며 중소 기업 및 인터넷 프로젝트에서 널리 사용됩니다.

MySQL vs. Oracle : 사용자 경험을 살펴 봅니다MySQL vs. Oracle : 사용자 경험을 살펴 봅니다Apr 30, 2025 am 12:12 AM

MySQL과 Oracle 간의 사용자 경험의 차이는 주로 다음과 같이 반영됩니다. 1. MySQL은 간단하고 사용하기 쉽고 빠른 액세스 및 유연성이 높은 시나리오에 적합합니다. 2. Oracle은 강력한 기능을 가지고 있으며 엔터프라이즈 수준의 지원이 필요한 시나리오에 적합합니다. MySQL의 오픈 소스 및 무료 기능은 스타트 업 및 개별 개발자를 유치하는 반면, Oracle의 복잡한 기능과 도구는 대기업의 요구를 충족시킵니다.

MySQL 및 Oracle : 성능과 확장 성 탐색MySQL 및 Oracle : 성능과 확장 성 탐색Apr 29, 2025 am 12:12 AM

성능과 확장 성에서 MySQL과 Oracle의 차이점은 다음과 같습니다. 1. MySQL은 중소형 데이터 세트에서 더 잘 수행되며 빠른 스케일링 및 효율적인 읽기 및 쓰기에 적합합니다. 2. Oracle은 대형 데이터 세트와 복잡한 쿼리를 처리하는 데 더 많은 장점이 있으며, 고 가용성 및 복잡한 비즈니스 논리에 적합합니다. MySQL은 마스터 슬레이브 복제 및 샤드 기술을 통해 확장되며 Oracle은 RAC를 통해 고 가용성과 확장 성을 달성합니다.

Oracle 소프트웨어의 일 : 주요 기능 및 기능Oracle 소프트웨어의 일 : 주요 기능 및 기능Apr 28, 2025 am 12:08 AM

Oracle 소프트웨어의 주요 기능에는 다중 테넌트 아키텍처, 고급 분석 및 데이터 마이닝, 실시간 응용 프로그램 클러스터링 (RAC) 및 자동화 된 관리 및 모니터링이 포함됩니다. 1) 다중 테넌트 아키텍처는 하나의 데이터베이스 인스턴스에서 여러 독립 데이터베이스를 관리하여 관리를 단순화하고 비용을 줄일 수 있습니다. 2) Oracle Advanced Analytics 및 OracledAtamining과 같은 고급 분석 및 데이터 마이닝 도구는 데이터에서 통찰력을 추출하는 데 도움이됩니다. 3) 실시간 응용 프로그램 클러스터 (RAC)는 고 가용성 및 확장 성을 제공하여 시스템 결함 공차 및 성능을 향상시킵니다. 4) ORACLE ENTERPRISEMANAGER (OEM)와 같은 자동화 된 관리 및 모니터링 도구는 매일 유지 보수 작업을 자동화하고 실시간으로 모니터링합니다.

Oracle의 영향 : 데이터 관리 및 그 이상Oracle의 영향 : 데이터 관리 및 그 이상Apr 27, 2025 am 12:11 AM

Oracle은 데이터 관리 및 엔터프라이즈 애플리케이션 분야에 중대한 영향을 미칩니다. 데이터베이스는 신뢰성, 확장 성 및 보안으로 유명하며 금융, 의료 및 정부와 같은 산업에서 널리 사용됩니다. Oracle의 영향은 또한 Weblogicserver 및 OCI (Oclecloudinfrastructure)와 같은 미들웨어 및 클라우드 컴퓨팅 필드로 확장되어 혁신적인 솔루션을 제공했습니다. 오픈 소스 데이터베이스 및 클라우드 컴퓨팅 시장에서의 경쟁에도 불구하고 Oracle은 지속적인 혁신을 통해 주요 위치를 유지합니다.

오라클 : 회사의 사명과 가치 탐색오라클 : 회사의 사명과 가치 탐색Apr 26, 2025 am 12:06 AM

Oracle의 사명은 "사람들이 데이터의 가치를 볼 수 있도록 돕는 것"이며, 그 핵심 가치에는 다음과 같습니다. 1) 고객 우선, 2) 무결성, 3) 혁신 및 4) 팀워크가 포함됩니다. 이 가치는 시장에서 Oracle의 전략적 의사 결정 및 비즈니스 혁신을 안내합니다.

Oracle의 핵심 기능 : 데이터베이스 솔루션 제공Oracle의 핵심 기능 : 데이터베이스 솔루션 제공Apr 25, 2025 am 12:06 AM

Oracle Database는 데이터 보안 및 고 가용성을 제공하기 위해 SQL 및 객체 관계형 모델을 지원하는 관계형 데이터베이스 관리 시스템입니다. 1. Oracle 데이터베이스의 핵심 기능에는 데이터 저장, 검색, 보안 및 백업 및 복구가 포함됩니다. 2. 작업 원칙에는 다층 저장 구조, MVCC 메커니즘 및 최적화가 포함됩니다. 3. 기본 사용에는 테이블 작성, 데이터 삽입 및 쿼리; 고급 사용에는 저장된 절차 및 트리거가 포함됩니다. 4. 성능 최적화 전략에는 인덱스 사용, 최적화 된 SQL 문 및 메모리 관리가 포함됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전