PLSQL을 사용하여 배열에서 가장 큰 요소 인쇄(Oracle Application Express 11g에서)

5517 단어 oracleplsqlarr
배열에서 가장 큰 요소를 인쇄하는 것은 기본 코드입니다. 우리 대부분은 c, c++, Java, Python 등을 사용하여 수행했습니다.
그러나 PLSQL을 사용하여 동일한 것을 인쇄하는 것을 생각해 보셨습니까?

여기서는 Oracle Application Express 11g에서 PLSQL을 사용하여 어레이에서 가장 큰 요소를 인쇄하는 방법을 보여드리겠습니다.

전제 조건


  • Oracle Application Express 11g가 시스템에 설치되어 있어야 합니다.
  • 기본적인 SQL 지식이 필요합니다.
  • 기본 코딩 지식이 필요합니다.

  • 논리로 시작합시다



    가장 큰 요소를 인쇄하려면 먼저 0이 가장 큰 요소라고 가정하고 maxnum이라는 변수를 선언하고 0을 다음과 같이 할당해야 합니다.
    int maxnum = 0; (여기서 0은 어레이에 속하거나 속하지 않을 수 있음)

    경우에 따라 사람들은 배열의 첫 번째 요소를 가장 큰 요소로 선언하기도 합니다.
    지금,
    루프를 사용하여 maxnum이 현재 요소보다 작은지 여부를 확인합니다. true이면 현재 요소로 대체하고 false이면 건너뜁니다. 처럼,

    if (maxnum < current_element)
      maxnum = current_element;
    


    루프 종료 후 maxnum의 값은 올바른 ans가 됩니다.

    PLSQL로 시작합시다



    PLSQL에서 위의 코드를 작성하려면 다음에 대해 알아야 합니다.
  • 성명서.
  • 실행 가능한 명령입니다.
  • 변수, 연산자 및 데이터 유형.
  • 조건.
  • 루프.
  • 배열 및 배열 선언 방법.
  • 출력 문.

  • 1. 진술의 선언.
    PLSQL의 선택적 섹션이며 변수, 커서, 하위 프로그램 등을 정의하는 데 사용됩니다.DECLARE로 시작합니다.

    예:

    DECLARE
     num INTEGER := 20;
    


    2. 실행 가능한 명령.
    이것은 필수 섹션이며 이 블록에 포함된 모든 명령문은 실행 가능한 명령문입니다.BEGINEND 사이에 있습니다.

    예:

    DECLARE
     num INTEGER := 20;
    BEGIN
     dbms_output.put_line(num);
     num := num + 30;
     dbms_output.put_line(num);
    


    3. 변수, 연산자 및 데이터 유형.
    PLSQL에서 변수 이름을 지정하는 것은 다른 프로그래밍 언어와 크게 다르지 않습니다.
    짝수 연산자도 +,-,*,/와 같지만 여기서 =는 :=로, ==는 =로 나타냅니다.
    PLSQL의 데이터 유형은 다릅니다.
    여기서 문자열은 VARCHAR2, int는 INTEGER, NUMBER(Scale, Precision) 등으로 표현됩니다.


    이미지 출처: 오라클 문서

    4.조건
    다른 프로그래밍 언어와 마찬가지로 PLSQL에도 조건문이 있습니다.
    여기서 IF ELSE는 다음과 같이 구현됩니다.

    IF <condition> THEN
     <statement 1>;
    ELSE
     <statement 2>;
    END IF;
    


    여러 IF 문에 대해

    IF <condition 1> THEN
     <statement 1>;
    ELSIF <condition 2> THEN
     <statement 2>;
    ELSIF <condition 3> THEN
     <statement 3>
    ELSE
     <statement 4>
    END IF;
    


    5. 루프
    PLSQL에는 세 가지 유형의 루프가 있습니다.
    (a) 기본 루프
    (b) For 루프
    (c) 동안 루프

    기본 루프 구문:-

    LOOP 
     <statements>
     <exit condition>
    END LOOP;
    


    For 루프 구문:-

    FOR i IN <start>..<stop> LOOP
     <statements>
    END LOOP;
    


    While 루프 구문:-

    WHILE <condition> LOOP
     <statements>
    END LOOP;
    


    참고: 이 루프 문은 실행 문 사이에 있어야 합니다.

    6. 어레이
    PLSQL에서 배열을 선언하기 위해 다음과 같이 명령문을 작성합니다.

    type <array_datatype_name> IS VARRAY(<size>) OR <DATATYPE>;
    <array_variable_name> <array_datatype_name>;
    


    예를 들어:

    DECLARE 
     type intarray is VARRAY(10) OF INTEGER;
     myarray intarray(10,20,30,40,50,60,70,80);
    


    7. 출력문
    PLSQL의 명령문을 인쇄하려면 다음을 사용합니다.

    dbms_output.put_line(<statement>);
    


    문자열에 연결하기 위해 이중 파이프||를 사용합니다.
    처럼,

    dbms_output.put_line('Hello '||'World!');
    


    코드 작성부터 시작하겠습니다.



    그래서 여기서 우리는 배열에서 가장 큰 요소에 대한 코드를 작성하고 있습니다.

    따라서 먼저 필요한 변수를 선언해야 합니다.

    DECLARE 
     type intarray is VARRAY(10) OF INTEGER;
     myarray intarray;
     total INTEGER;
     maxnum INTEGER;
    


    이제 실행 가능한 명령문 내부의 논리를 사용하겠습니다.

    BEGIN
     myarray := intarray(12,43,56,32,88,46,67,50,66,74);
     total := myarray.count;
     maxnum := 0;
    FOR i IN 1..total LOOP
     IF maxnum < myarray(i) THEN
      maxnum := myarray(i);
     END IF;
    END LOOP;
    dbms_output.put_line('Maximum number in the array is '|| maxnum);
    END;
    


    따라서 최종 코드는 다음과 같습니다.

    DECLARE 
     type intarray is VARRAY(10) OF INTEGER;
     myarray intarray;
     total INTEGER;
     maxnum INTEGER;
    BEGIN
     myarray := intarray(12,43,56,32,88,46,67,50,66,74);
     total := myarray.count;
     maxnum := 0;
    FOR i IN 1..total LOOP
     IF maxnum < myarray(i) THEN
      maxnum := myarray(i);
     END IF;
    END LOOP;
    dbms_output.put_line('Maximum number in the array is '|| maxnum);
    END;
    


    이것은 출력을 제공합니다:



    Oracle Application Express 11g에서:



    이 작은 블로그를 통해 주셔서 감사합니다. 잘못된 부분이 있으면 아래에 댓글을 달아주세요. 피드백과 제안을 주저하지 마십시오.

    좋은 웹페이지 즐겨찾기