PL/SQL tutorial 77: Forall statement with Lower & Upper bound in Oracle Database

인터넷 최대 무엇입니까? 나는 RebellionRidercom에서 마니를 생각합니다

FORALL 시리즈 제 튜토리얼 대량 데이터 처리에서 여섯 하나 환영 시리즈 오늘 우리는 낮은 첫 번째 바운드 절을 FORALL 문을 사용하는 방법을 배우게됩니다 어퍼 바운드 시작하기 전에의 한 가지를 이해하자; FORALL 문은 동일한 작업을 수행 대량 수집 절 그러나 역 방식이다 예를 들면, 대량으로 우리가 테이블로부터 데이터를 가져오고로 저장 하였다 수집 컬렉션은,하지만 지금은 FORALL 문으로 우리는 컬렉션에서 데이터를 가져옵니다 테이블에 저장합니다 그의는 FORALL 문의 첫 번째 바운드 절에 다시 오게 말했다되고 낮은 및 상한

하부 및 상부 경계에서 우리는 연속의 유효 범위를 지정해야 우리가 지금까지의이 예를하자 이해하려고 논의 된 점을 모두 촬영 더 명확하게 낮은 및 상한 절을 FORALL 문 FORALL 문을 그래서 우리는 컬렉션에서 데이터를 가져 와서에 보관 우리는 일부 데이터와 우리가 덤프 수에 표와 컬렉션을 필요 의미 테이블 데이터 보유하는 새 테이블을 만들기 시작하는 다음의 처음에 서버 출력을 설정하자 자료 SERVEROUTPUT ON은 SET; (표 tut_77을 CREATE Mul_tab 번호 (5)); 여기에 테이블입니다 그냥 간단한 데모를 유지하기 위해, 우리는 전혀 거기에 제약이있는 테이블이 곱셈 테이블을 유지에만 열 "mul_tab"로 구성되어 있습니다

어떤 멋진 물건, 나는 쉽게 개념을 이해하기 간단하다 생각하지 않습니다 의 앞으로 이동하자 다음으로 우리는 우리가 컬렉션을 생성 될에 PL / SQL 블록을 작성합니다 일부 데이터로 채우기 그런 다음 사용 FORALL 문은 우리는 우리의 테이블 tut_77에 해당 데이터를 덤프합니다 그래서 그것을 할 수 있습니다

NUMBER 인덱스 테이블입니다 형 my_array 배열 선언 PLS_INTEGER; col_var my_array 배열; tot_rec 번호; 실행 섹션을 작성하기 전에,하자 빨리 우리가 선언 섹션에 한 일을 좀 봐 다음은이 섹션에서 우리와 함께 이름이 "my_array 배열"과 연관 배열을 선언 한 그 수집 변수입니다 연관 배열에 대한 자세한 내용은 내 PL / SQL 자습서 번호 57을 참조 할 수 있습니다, 나는 아래의 설명에 링크를 남겨 둘 것이다 다음 연관 배열에 우리는 이름의 다른 변수를 선언 한 "tot_rec" NUMBER 데이터 타입 우리는 컬렉션에서 가져온 얼마나 많은 기록을 확인하려면이 변수를 사용하고 테이블에 저장됩니다

이제 앞으로 이동하자 컬렉션을 –populate BEGIN I IN 110 LOOP의 col_var (I)의 경우 : * I = 9; END LOOP; 우리는 우리의 실행 섹션을 시작했습니다 for 루프 우리는 곱셈과 우리의 컬렉션 "my_array 배열"을 채우기하는이 숫자에 대한 루프를 사용하여 9 테이블

작업 번호 하나를 선언하고 채우는 : 테이블 만들기, 작업 번호 두 개를 완료 컬렉션도 이루어집니다 이 두 작업은 FORALL 문의 시연 무대를 설정합니다 이제 우리는 마지막 작업으로 남아 있습니다 여기에서 우리는 컬렉션 'my_array 배열'에서 데이터를 가져 와서 테이블로 저장됩니다 tut_77 FORALL 문을 사용하여 그래서이 FORALL 문을 작성할 수 있습니다

tut_77 INTO 110 INSERT IN FORALL의 IDX (mul_tab) VALUES (col_var (IDX)); 여기에 우리의 FORALL 문이다 이 문장에서 우리는 우리의 상한 우리의 하한로 1과 10을 사용했다 우리는 우리의 FORALL 문을 사용하여 수행하는 DML 작업은 INSERT입니다

이 INSERT의 DML을 사용하여 우리는 우리의 테이블 tut_77에 값을 삽입한다 그래서이 값은 무엇인가? 다음은 우리가 수집 my_array 배열에 삽입 된 값입니다 당신이 알고 같이 쓰는 동안 따라야하는 두 가지 필수 규칙이 있습니다 FORALL 문 이 규칙은 다음과 같습니다 1 을 먼저 FORALL 문은 한 번에 하나의 DML 문을 가질 수 있습니다

2 둘째는 자사 중 하나 값 또는 절은을 참조해야 DML 문 그 인덱스 우리는 우리의 바운드 절에 사용되는 모음입니다 의 우리의 FORALL 문을 분석해 보겠습니다 우리의 FORALL 문은 INSERT 만 하나의 DML을 가지고 있으며,이 삽입 DML 문이다 그 값 집합 변수 col_var 통해 수집 my_array 배열을 참조 절 그 말은 모두 규칙은 성취되고 있으며, 우리는 갈 수 있습니다

의는 실행 전에 한 가지 더 해 보자 tut_77 FROM tot_rec INTO SELECT COUNT (*); DBMS_OUTPUTPUT_LINE ( ​​'전체 기록은 삽입 ) '|| tot_rec이다; 그냥 우리의 프로그램이 실행되었는지 확인하기 우리가 예상 한대로 우리는 여기이 두 문장이있다 첫 번째 문을 사용하여 우리는 총 레코드 수는 값을 저장하는 테이블 변수 tot_rec에 tut_77 및 상기 제 2 문장을 사용 출력 문 우리는 사용자 변수 tot_rec에서 그 값을 다시 표시된다 이 DBMS의 OUTPUT 문의 출력이 10 인 경우, 우리는 우리의 프로그램을 가지고 말할 수 있습니다 이 성공적으로 실행되었습니다

우리가로 10 레코드를 삽입하기 위해 FORALL 문을 프로그래밍 한 때문입니다 우리의 표 우리가 방금 만든 것처럼 내가 거기에 기대하고하는 것은 처음이 테이블에 저장된 데이터입니다 그것 그래서이 프로그램을 실행하고 커튼을 올릴 수 있습니다 여기에 우리의 결과이며 다행히도 10입니다 이것은 우리의 기대에 따라 근무 프로그램을 의미한다

"이 프로그램의 모든 실행에 이전에 저장된 데이터에 10 개 개의 레코드를 추가합니다 테이블이 출력 문의 결과에 따라 변경됩니다 " 이 데모는 낮은 함께 FORALL의 개념을 이해하면 도움이 희망과 어퍼는 절을 결합 그래서 다음 버튼을 엄지 손가락을 칠 확인 할 비디오를 좋아한다면 또한 소셜 미디어에 친구와 공유하고있는 경우 채널에 가입 아니 이미 있습니다 이 첫 번째와 PL / SQL FORALL 문을 사용하여 대량의 데이터 처리에 대한 튜토리얼입니다 바운드 절 즉, 낮은 오라클 데이터베이스의 상한

시청 주셔서 감사합니다 이 RebellionRidercom에서 마니이다