PLSQL에서 문제가 발생하여 도움을 얻을 수 있기를 바랍니다. 나는 2 개의 테이블을 가지고있다 - 첫 번째 테이블은 test1이고 customer_id와 msisdn의 2 개의 컬럼을 가지고 있고 그 안에 2 개의 레코드를 가지고있다. 다른 하나는 test_hist라고하며 customer_id, msisdn 및 seqno의 3 개의 열과 1 개의 레코드가 있습니다. "seqno"는 sequnce 번호입니다. 의 모든 기록은 높은 1. 내가 쓴 스크립트가있는 SEQNO 번호 얻을 inseted :스크립트 내 삽입
DECLARE
CURSOR test IS
SELECT * FROM test1;
CUSTOMER_ID NUMBER;
MSISDN NUMBER;
V_SEQNO NUMBER;
FOR a IN test LOOP
SELECT MAX(SEQNO)+1 INTO V_SEQNO FROM test1_hist;
INSERT INTO test1_hist
select a.CUSTOMER_ID ,v_seqno, a.msisdn
from test1;
END LOOP;
commit;
END를 BEGIN을;
CUSTOMER_ID SEQNO MSISDN
1.55443322 3 5422112
1.55443322 3 5422112
1.12232323 2 5454554
1.12232323 2 5454554
1.22211444 1 544643330
은 레코드 수와 같은 시간을 실행 :
문제는 그것을 실행 한 후,이 내가 test_hist 테이블에 무엇을 얻을 것을입니다. test1 테이블에 4 개의 레코드가 있다면 test_hist 16 (각각 4 개)에 삽입됩니다. 원래 테이블의 메신저 작업 가 400K 기록을 가지고, 그래서 난 그냥 캔트 몇 가지 간단한 삽입 문을 .... (: 메신저 두꺼비를 사용하여 environement은 ORACLE 8
내가 놓친 거지 어떤 생각입니다
?정말 고마워 아사 프.
어떤 언어 및 환경입니까? SQL과 비슷하지만 더 정확하게 표현할 수 있습니까? – arkascha
오라클 8의 PLSQL. – Shlomix
정보를 추가해 주셔서 감사합니다. 죄송합니다. 경험이 없습니다. – arkascha