Oracle 저장 프로시저의 기본 구조에는 무엇이 포함됩니까?
Oracle 저장 프로시저의 구조는 1. 프로세스 선언, 2. 실행 프로세스 부분, 3. 저장 프로시저 예외로 구성됩니다. 스크립트의 내결함성과 편의성을 높이려면 이 부분을 생략할 수 있습니다. 디버깅, 예외 작성.
이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
저장 프로시저란 무엇입니까
저장 프로시저: 바이두 백과사전에서는 이렇게 설명합니다. 저장 프로시저(Stored Procedure)는 대규모 데이터베이스 시스템에서 특정 기능을 완료하기 위한 일련의 SQL 문으로 데이터베이스에 저장됩니다. , 첫 번째 컴파일 후 다시 호출할 때 다시 컴파일할 필요가 없습니다. 사용자는 저장 프로시저의 이름을 지정하고 매개변수(저장 프로시저에 매개변수가 있는 경우)를 제공하여 저장 프로시저를 호출합니다.
간단히 말하면, 구체적으로 한 가지 일을 하는 SQL 문입니다.
데이터베이스 자체에서 호출할 수도 있고 Java 프로그램에서 호출할 수도 있습니다.
저장 프로시저는 Oracle 데이터베이스의 프로시저입니다.
저장 프로시저 구조
(1) 기본 구조
Oracle 저장 프로시저는 세 부분으로 구성됩니다: 프로세스 선언, 실행 프로세스 부분, 저장 프로시저 예외(쓰기 가능 여부, 스크립트의 내결함성 강화) 및 디버깅 편의를 위해 예외 처리 작성)
(2) 매개변수가 없는 저장 프로시저
/** name_procedure就是自己自定义的存储过程名 */ create or replace procedure name_procedure AS/IS 变量名1 数据类型; 变量名2 数据类型; BEGIN --要处理的业务逻辑 EXCEPTION --存储过程异常 END name_procedure;
(3) 매개변수가 있는 저장 프로시저
일반 매개변수 저장 프로시저
/* age 类型为number 初始化为20; */ CREATE OR REPLACE PROCEDURE name_procedure (param1 TYPE) AS/IS name varchar(20); age number :=20; BEGIN --业务处理..... END ;
매개변수가 있는 저장 프로시저 및 수행 할당
CREATE OR REPLACE PROCEDURE 存储过程名称( s_no in varchar, s_name out varchar, s_age number) AS total NUMBER := 0; BEGIN SELECT COUNT(1) INTO total FROM student s WHERE s.age=s_age; dbms_output.put_line('符合该年龄的学生有'||total||'人'); EXCEPTION WHEN too_many_rows THEN DBMS_OUTPUT.PUT_LINE('返回值多于1行'); END
IN 매개변수는 입력 매개변수를 나타내며 매개변수의 기본 모드입니다.
OUT은 반환 값 매개 변수를 나타내며 해당 유형은 Oracle에서 합법적인 모든 유형을 사용할 수 있습니다.
OUT 모드에서 정의된 매개변수는 프로세스 본문 내부에서만 값을 할당할 수 있습니다. 즉, 매개변수가 이를 호출한 프로세스에 특정 값을 다시 전달할 수 있음을 의미합니다.
IN OUT은 매개변수가 프로세스에 값을 전달할 수도 있고 특정 값을 밖으로 전달할 수도 있습니다.
7행: s_age 매개변수를 필터 조건으로 사용하고 INTO 키워드를 사용하여 찾은 결과를 total 변수에 할당하는 쿼리 문입니다.
라인 8: 출력 쿼리 결과, "||"는 데이터베이스의 문자열을 연결하는 데 사용됩니다.
라인 9-11: 예외 처리 수행
저장 프로시저 구문
(1) 연산자
(2) SELECT INTO STATEMENT 문
쿼리 결과를 하나의 변수 또는 여러 변수에 할당
요구 사항: 100점으로 학생의 이름, 나이, 이름을 알아냅니다. . 출생지
CREATE OR REPLACE PROCEDURE DEMO_CDD1 IS s_name VARCHAR2; --学生名称 s_age NUMBER; --学生年龄 s_address VARCHAR2; --学生籍贯 BEGIN --给单个变量赋值 SELECT student_address INTO s_address FROM student where student_grade=100; --给多个变量赋值 SELECT student_name,student_age INTO s_name,s_age FROM student where student_grade=100; --输出成绩为100分的那个学生信息 dbms_output.put_line('姓名:'||s_name||',年龄:'||s_age||',籍贯:'||s_address); END
(3) Select 문
//if 后面一定要添加THEN 相当于Java中的 大括号 IF s_sex=1 THEN dbms_output.put_line('这个学生是男生'); ELSE IF THEN dbms_output.put_line('这个学生是女生'); ELSE dbms_output.put_line('这个学生性别错误'); END IF
(4) 루프 문
a.Basic loop
LOOP IF 表达式 THEN EXIT; END IF END LOOP;
b.while loop
WHILE 表达式 LOOP dbms_output.put_line('haha'); END LOOP;
c.for loop
//a 1 到 20 范围 FOR a in 10 .. 20 LOOP dbms_output.put_line('value of a: ' || a); END LOOP;
추천 튜토리얼: "오라클 튜토리얼》
위 내용은 Oracle 저장 프로시저의 기본 구조에는 무엇이 포함됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Oracle 테이블 스페이스 크기를 쿼리하려면 다음 단계를 따르십시오. 쿼리를 실행하여 테이블 스페이스 이름을 결정하십시오. 쿼리를 실행하여 테이블 스페이스 크기를 쿼리하십시오. sum (bytes)을 total_size, sum (bytes_free)으로 sum (bytes_free), sum (bytes) - sum (bytes_free)으로 dba_data_fices where tablespace_.

Oracle View 암호화를 사용하면보기에서 데이터를 암호화 할 수 있으므로 민감한 정보의 보안을 향상시킬 수 있습니다. 단계에는 다음이 포함됩니다. 1) 마스터 암호화 키 생성 (MEK); 2) 암호화 된 뷰 생성, 암호화 할보기 및 MEK를 지정하는 것; 3) 사용자가 암호화 된보기에 액세스하도록 승인합니다. 암호화 된 뷰 작동 방식 : 사용자가 암호화 된보기를 쿼리 할 때 Oracle은 MEK를 사용하여 데이터를 해독하여 공인 사용자 만 읽기 쉬운 데이터에 액세스 할 수 있도록합니다.

Oracle에서 인스턴스 이름을 보는 세 가지 방법이 있습니다. 명령 줄에 명령. "show instance_name"을 사용하십시오. sql*plus의 명령. 운영 체제의 작업 관리자, Oracle Enterprise Manager 또는 운영 체제를 통해 환경 변수 (Linux의 Oracle_Sid)를 확인하십시오.

Oracle 설치 실패에 대한 방법 제거 : Oracle Service를 닫고 Oracle Program 파일 및 레지스트리 키 삭제, Oracle 환경 변수를 제거하고 컴퓨터를 다시 시작하십시오. 제거되지 않으면 Oracle 범용 제거 도구를 사용하여 수동으로 제거 할 수 있습니다.

Oracle에는 시간을 얻는 방법이 있습니다. current_timestamp : 현재 시스템 시간을 반환합니다. Systimestamp : current_timestamp보다 나노 초보다 더 정확합니다. sysdate : 시간 부분을 제외하고 현재 시스템 날짜를 반환합니다. to_char (sysdate, 'yyy-mm-dd hh24 : mi : ss') : 현재 시스템 날짜와 시간을 특정 형식으로 변환합니다. 추출 : 1 년, 월 또는 시간과 같은 시간 값에서 특정 부분을 추출합니다.

데이터 가져 오기 방법 : 1. SQLLOADER 유틸리티 사용 : 데이터 파일 준비, 제어 파일 작성 및 SQLLOADER 실행; 2. IMP/EXP 도구를 사용하십시오 : 데이터 내보내기, 데이터 가져 오기. 팁 : 1. 빅 데이터 세트에 권장되는 SQL*로더; 2. 대상 테이블이 존재해야하고 열 정의가 일치해야합니다. 3. 가져 오기 후에는 데이터 무결성을 확인해야합니다.

Oracle에서 사용자를 만들려면 다음 단계를 따르십시오. 사용자 명령문을 사용하여 새 사용자를 만듭니다. 보조금 명세서를 사용하여 필요한 권한을 부여하십시오. 선택 사항 : 리소스 문을 사용하여 할당량을 설정하십시오. 기본 역할 및 임시 테이블 스페이스와 같은 다른 옵션을 구성하십시오.

Oracle에서 FOR 루프 루프는 커서를 동적으로 생성 할 수 있습니다. 단계는 다음과 같습니다. 1. 커서 유형을 정의합니다. 2. 루프를 만듭니다. 3. 커서를 동적으로 만듭니다. 4. 커서를 실행하십시오. 5. 커서를 닫습니다. 예 : 커서는 상위 10 명의 직원의 이름과 급여를 표시하기 위해주기별로 만들 수 있습니다.
