업무 기록/ETC

[Oracle] PL/SQL정의, 기능, 대량 데이터 추가

code2772 2024. 5. 22. 13:08
728x90
반응형

기본 적으로 개발이나 테스트를 하는 경우 부하문제를 신경써야 한다. 고로 더미 데이터를 DB에 넣어서 테스트 하는 경우가 많으며 DB에 더미 값을 넣는 방법도 다양하다. 최근 PL/SQL 방식을 처음 사용해보아서 정리 목적으로 작성하였다.

 


정의

PL/SQL(Procedural Language/Structured Query Language)은 Oracle 데이터베이스에서 사용되는 프로시저형 언어입니다. 이 언어는 SQL 문을 확장하여 프로그래밍 요소를 추가한 것으로, 데이터베이스 관련 작업을 수행하는 데 사용됩니다. PL/SQL은 데이터베이스 객체를 생성하고 관리하는 데 사용되는 프로그램 유형으로, 주로 저장 프로시저, 함수, 트리거 등을 작성할 때 사된다.

 

 

기능

PL/SQL은 다음과 같은 주요 기능을 제공한다:

절차형 프로그래밍 지원: PL/SQL은 절차형 프로그래밍 언어로, 변수, 조건문, 반복문 등과 같은 프로그래밍 구조를 제공하여 프로그램을 효율적으로 작성할 수 있다.

SQL 문의 임베딩: PL/SQL은 SQL 문을 프로시저에 포함할 수 있습니다. 이를 통해 데이터베이스 작업을 수행하고 결과를 처리할 수 있다.

예외 처리: PL/SQL은 예외를 처리할 수 있는 기능을 제공하여 프로그램의 안정성을 높일 수 있다.

모듈화: PL/SQL은 프로시저, 함수, 패키지 등의 모듈을 작성하여 코드의 재사용성과 유지보수성을 향상시킨다.

트랜잭션 제어: PL/SQL은 트랜잭션을 제어하고 데이터의 일관성을 유지하는 데 사용된다.

PL/SQL을 사용하면 데이터베이스에서 복잡한 작업을 수행할 수 있으며, 이를 통해 데이터베이스의 성능을 최적화하고 보안을 유지할 수 있다.

PL/SQL을 사용하기 위해서는 Oracle 데이터베이스에 접속하여 SQL*Plus나 SQL Developer와 같은 도구를 사용하여 PL/SQL 블록을 작성하고 실행할 수 있습니다. PL/SQL 블록은 DECLARE, BEGIN, END 키워드를 사용하여 정의되며, 저장 프로시저, 함수, 트리거 등의 형태로 정의할 수 있다.

 

10000건 한번에 등록하기

DECLARE
    v_insert_count NUMBER := 10000; -- 반복 횟수를 설정
BEGIN
    FOR i IN 1..v_insert_count LOOP -- 1부터 v_insert_count까지 반복
        -- 각 반복에 대한 작업을 수행
        INSERT INTO TBL_CPMREJECTNUM (CALLNUM, TYPE, ID, TEXT, CDATE, FLAG)
        VALUES ('hunsong' || i, 'T', 'soong_api', 'spam' || i, SYSDATE, 'F');
    END LOOP;
    
    -- 반복 작업이 끝난 후 커밋
    COMMIT;
END;
/

 

 

반응형