PL SQL의 절차 및 기능에 대한 전체 안내서

게시 됨: 2023-01-30
PL SQL의 절차 및 기능에 대한 전체 안내서

프로그래밍 언어는 컴퓨터 프로그램을 작성하기 위한 시스템입니다. 많은 프로그래밍 언어가 텍스트 기반이지만 다른 프로그래밍 언어는 그래픽일 수도 있습니다. 이러한 언어는 프로그래머가 컴퓨터와 통신하는 데 도움이 됩니다. SQL(Structured Query Language)은 관계형 데이터베이스에 저장된 데이터를 저장, 조작 및 검색하는 데 도움이 되는 프로그래밍 언어 중 하나입니다. 오늘 가이드에서는 PL SQL의 서브 프로그램인 네임 블록(프로시저 및 함수) 실행에 대한 세부 정보를 공유합니다. 따라서 PL SQL의 절차 및 기능에 대한 철저한 가이드를 찾고 있다면 올바른 페이지에 오신 것입니다. 이 문서에서는 PL SQL 저장 프로시저 주제를 다루는 것과 함께 PL SQL 프로시저 예제에 대해서도 알아봅니다. PL SQL 호출 절차, PL SQL 종료 절차 및 PL SQL 함수 예제는 신예 프로그래머인 경우에도 똑같이 중요하게 배울 수 있습니다. 따라서 PL SQL에 대한 철저한 가이드를 시작하겠습니다.

PL SQL의 절차 및 기능에 대한 전체 안내서

내용물

  • PL SQL의 절차 및 기능에 대한 전체 안내서
  • PL SQL이란 무엇입니까?
  • PL SQL의 절차 및 기능은 무엇입니까?
  • PL SQL에서 저장 프로시저 및 함수를 만드는 방법은 무엇입니까?
  • PL SQL에서 저장 프로시저 및 함수의 장점
  • 저장 프로시저 생성을 위한 구문
  • PL SQL 프로시저 예
  • PL SQL에서 함수 생성을 위한 구문
  • PL SQL 함수 예
  • PL SQL 종료 절차란?
  • 저장 프로시저와 함수 프로시저의 차이점

PL SQL의 절차 및 기능에 대한 전체 안내서

여기서는 예제와 함께 PL SQL 프로시저 및 함수를 자세히 보여 주었습니다.

PL SQL이란 무엇입니까?

  • PL SQL은 SQL에 대한 절차 언어 확장 의 짧은 형식입니다.
  • PL SQL은 프로그래머가 SQL의 기능을 프로시저 문과 결합 하는 데 도움이 되는 블록 구조 언어입니다.
  • Oracle Corporation의 절차적 확장입니다.
  • 이 절차적 언어는 Oracle 데이터베이스, Times Ten 인메모리 데이터베이스 및 IBM Db2 에서 사용할 수 있습니다.
  • 런타임 시 PL/SQL과 SQL은 모두 동일한 서버 프로세스 내에서 실행되어 최적의 효율성을 제공합니다.
  • PL SQL은 데이터베이스의 이식성 , 보안견고성 을 향상시켜 SQL 문의 효과적이고 중단 없는 처리를 보장합니다.
  • PL SQL은 단순히 SQL 을 통해 수행 할 작업과 절차적 방식 을 통해 수행하는 방법에 대해 컴파일러에 지시하는 것을 의미합니다.
  • PL SQL은 루프 , 조건객체 지향 개념 을 사용하여 프로그래머에게 더 많은 제어 기능을 제공합니다.

PL SQL의 절차 및 기능은 무엇입니까?

  • PL SQL에는 프로시저함수 로 알려진 두 개의 하위 프로그램이 있습니다.
  • 일반적으로 절차는 작업수행하는 데 사용되며 함수 는 값을 계산하는 데 사용됩니다.
  • PL SQL의 하위 프로그램에는 선언 부분 , 실행 부분선택적 예외 처리 부분이 있습니다.
  • 이러한 하위 프로그램은 데이터베이스 개체 로 데이터베이스에 생성 및 저장할 수 있습니다.
  • PL SQL의 프로시저 및 함수 하위 프로그램은 주로 값을 계산 하고 반환하는 데 사용되는 단일 값 을 반환합니다.
  • 이러한 하위 프로그램은 단순히 특정 작업 을 실행할 수 있는 PL/SQL 및 SQL 문의 모음입니다.

PL SQL에서 저장 프로시저 및 함수를 만드는 방법은 무엇입니까?

PL SQL 저장 프로시저 또는 함수에 대한 코드 블록이 작성되면 Oracle 엔진에 의해 컴파일됩니다. 일단 컴파일되면 데이터베이스 개체로 저장됩니다. 코드의 저장 프로시저 또는 기능 블록은 세 부분으로 구성됩니다.

  • 선언부 : 프로시저나 함수에서 사용할 변수, 상수, 커서, 예외 등을 선언하는 부분입니다.
  • Executable Part : 생성되는 프로시저나 함수의 정의를 작성하는 부분입니다. 이 부분은 또한 값을 할당하고, 데이터를 조작하고, 실행을 제어하는 ​​PL/SQL 또는 SQL 문으로 구성됩니다.
  • 예외 처리 부분 : 이 마지막 부분은 선택 사항이며 실행 부분에 작성된 코드를 실행하는 동안 발생할 수 있는 예상 예외가 작성됩니다.

PL SQL에서 저장 프로시저 및 함수의 장점

PL SQL 프로시저 예제를 살펴보기 전에 먼저 프로시저 및 함수 서브 프로그램의 이점을 숙지해야 합니다.

  • 데이터베이스 성능 향상 : Oracle 엔진은 자동 컴파일을 도와줍니다. 또한 PL SQL 호출 프로시저나 함수가 수행될 때마다 Oracle 엔진은 컴파일된 코드를 SGA(System Global Area)에 로드하여 더 빠른 실행을 돕습니다.
  • 재사용성 및 중복성 없음 : 프로시저 또는 함수에 대한 동일한 코드 블록이 여러 데이터에서 여러 번 호출될 수 있기 때문에 코드 행 수를 반복해서 작성할 수 없습니다.
  • 보안 : 사용자에게 권한을 부여하여 사용 및 접근을 제어할 수 있도록 저장 프로시저 또는 함수를 사용하여 데이터베이스의 보안을 유지합니다. 그러나 데이터베이스를 편집하거나 조작할 수 있는 권한은 사용자에게 부여되지 않습니다.
  • 무결성 : PL SQL 저장 프로시저 또는 함수를 사용하는 또 다른 이점은 Oracle 엔진에 의해 데이터베이스 개체로 저장되므로 무결성이 보장된다는 것입니다.
  • 메모리 저장: 저장 프로시저 또는 함수의 많은 이점 중 하나는 동일한 작업을 수행할 수 있는 권한이 있는 여러 사용자가 로드할 수 있는 프로시저 또는 함수의 단일 복사본으로 메모리를 절약하는 데 도움이 되는 메모리를 공유한다는 것입니다.

또한 읽기: javascript:void(0) 오류 수정 방법

저장 프로시저 생성을 위한 구문

Oracle에서 저장 프로시저를 만드는 데 사용되는 아래 구문을 볼 수 있습니다.

 프로시저 생성 또는 교체 <procedure_name>
(<변수_이름>IN/OUT/IN OUT <데이터 유형>,
<variable_name>IN/OUT/IN OUT <데이터 유형>,...) IS/AS
변수/상수 선언;
시작하다
-- PL/SQL 하위 프로그램 본문;
예외
-- 예외 처리 블록 ;
END <절차명>; 

oracle에서 저장 프로시저를 생성하는 구문

위의 코드에서:

  • Procedure_name 은 프로시저의 이름을 나타냅니다.
  • Variable_name 은 저장 프로시저에서 사용되는 변수의 이름을 나타냅니다.
  • 생성 또는 교체 프로 시저는 생성할 프로시저의 이름을 지정하는 데 사용되는 키워드를 나타냅니다.
  • Begin , ExceptionEnd 는 생성된 프로시저의 다른 섹션을 나타내는 데 사용되는 키워드를 나타냅니다.
  • IN/OUT/IN OUT 은 매개변수 모드를 나타내며 IN 은 사용자로부터 값을 수락하는 변수에 사용되는 READ ONLY 모드를 나타냅니다. 이것이 기본 매개변수 모드입니다.
  • OUT 은 사용자에게 값을 반환하는 변수에 사용되는 WRITE ONLY 모드를 나타냅니다.
  • IN OUT 은 값을 수락하거나 사용자에게 값을 반환하는 변수에 사용되는 READWRITE 모드를 나타냅니다.
  • <procedure_name> 은 프로시저 정의의 끝을 나타냅니다. END를 대신 사용할 수도 있습니다.

PL SQL 프로시저 예

아래 프로시저 코드의 경우 두 개의 숫자를 더하기 위해 저장 프로시저를 사용하는 방법을 명확하게 보여주는 간단한 예가 있습니다.

 서버 출력 설정;
CREATE OR REPACE PROCEDURE 합계(여기서 a IN 숫자, b IN 숫자)는 c 숫자입니다.
시작하다
c := a+b;
dbms_output.put_line('두 숫자의 합 = '|| c);
END 합계;

프로시저를 호출하는 경우 다음 코드가 실행됩니다.

 서버 출력 설정;
선언하다
x 숫자;
y 숫자;
시작하다
x := &x;
y := &y;
합계(x,y);
끝;
어디에:
x 값 입력: 10
y 값 입력: 20
두 숫자의 합: 30

PL SQL 프로시저가 성공적으로 생성되었습니다.

PL SQL에서 함수 생성을 위한 구문

이제 저장 프로시저의 구문을 만드는 방법과 그 예제를 알았으므로 PL/SQL에서 함수를 만드는 방법에 대해 설명할 시간입니다.

 함수 생성 또는 교체 <function_name>
(<변수 이름> IN <데이터 유형>,
<변수 이름> IN <데이터 유형>,...)
반환 <데이터 유형> IS/AS
변수/상수 선언;
시작하다
-- PL/SQL 하위 프로그램 본문;
예외
-- 예외 처리 블록 ;
END <기능_이름>; 

함수를 만드는 구문

위의 코드에서:

  • Function_name 은 함수의 이름을 나타냅니다.
  • Variable_name 은 함수에서 사용되는 변수의 변수 이름을 나타냅니다.
  • Create 또는 Replace function 은 생성할 함수의 이름에 사용되는 키워드를 나타냅니다.
  • IN 은 사용자로부터 값을 받아들이는 변수에 사용되는 READ ONLY 모드를 나타냅니다. 이것이 기본 매개변수입니다.
  • Return 은 함수가 반환할 값의 데이터 유형을 지정하는 데이터 유형이 뒤에 오는 키워드를 나타냅니다.

또한 읽기: 수정 명령이 오류 코드 1로 실패했습니다. Python Egg 정보

PL SQL 함수 예

다음은 두 개의 숫자를 더하는 함수의 사용을 보여주는 PL SQL 함수의 예입니다.

 서버 출력 설정;
함수 만들기 또는 바꾸기 Sum(a IN 숫자, b IN 숫자) RETURN 숫자 IS
씨 번호;
시작하다
c := a+b;
반환 c;
끝; 

두 숫자 구문을 더하는 함수

함수 sum을 호출하는 경우 다음 코드가 실행됩니다.

 서버 출력 설정;
선언하다
no1 번호;
no2 번호;
결과 번호;
시작하다
no1 := &no1;
no2 := &no2;
결과 := 합계(no1,no2);
dbms_output.put_line('두 숫자의 합='||결과);
끝;
어디에:
no1에 값 입력: 5
no2 값 입력: 5
두 숫자의 합: 10

PL SQL 프로시저가 성공적으로 생성되었습니다.

함수 합계를 호출하는 구문

PL SQL 종료 절차에 대해 알아보려면 다음 섹션을 읽으십시오.

PL SQL 종료 절차란?

Exit는 명령문이 WHEN 절의 조건이 충족되면 루프의 현재 반복을 종료하고 현재 진행 중인 루프의 끝으로 제어를 전송할 때 도움이 됩니다. Exit 문은 루프 외부에서 사용할 수 없으며 무조건 Exit 및 Continue 문을 사용하거나 조건부로 Exit When 및 Continue When 문을 사용하여 루프를 종료하기 위한 것입니다.

저장 프로시저와 함수 프로시저의 차이점

이제 PL SQL의 프로시저와 기능에 대해 알게 되었으므로 이제 둘 사이의 기본 차이점도 알아야 합니다.

  • 저장 프로 시 저는 프로그램의 호출 부분에 값을 반환하거나 반환하지 않을 수 있지만 함수 는 프로그램의 호출 부분에 값을 반환합니다.
  • 저장 프로 시저는 OUT 매개변수를 사용하여 값을 반환하지만 함수 는 RETURN을 사용하여 값을 반환합니다.
  • 저장 프로 시저는 IN, OUT, IN OUT 매개변수를 사용하지만 함수 는 IN 매개변수만 사용합니다.
  • 저장 프로 시저는 호출 후 반환할 값의 데이터 유형을 지정하지 않는 반면, 함수 는 호출 후 반환할 값의 데이터 유형을 지정합니다.
  • 저장 프로 시저는 코드의 함수 블록에서 호출할 수 없지만 함수 는 코드의 프로시저 블록에서 호출할 수 있습니다.

추천:

  • DDR4 vs DDR5 RAM: 게임용으로 어느 것이 더 좋습니까?
  • 브레드보드의 종류는 무엇입니까?
  • 텍스트를 파싱하는 방법
  • SQL에서 구분 기호로 문자열을 분할하는 4가지 방법

PL SQL의 절차 및 기능에 대한 문서가 PL SQL 및 해당 하위 프로그램, 절차 및 기능, PL SQL 종료 절차 등에 대한 모든 의심에 답하는 데 도움이 되고 성공적이기를 바랍니다. 어떤 식으로든 도움이 되었거나 더 많은 질문이 있는 경우 아래에 의견을 남겨 알려주십시오.