본문 바로가기

개인공부 정리/다양한 질문들

0209 수업 질문 - PL/SQL, 커서와 예외처리

Q1. PL/SQL은 뭐야?

PL/SQL(Procedural Language/Structured Query Language)은 Oracle 데이터베이스 관리 시스템 관리를 위해 특별히 설계된 절차적 언어입니다. 변수, 프로시저 및 함수를 선언하기 위한 구조와 예외 처리 및 루프, 분기 및 조건과 같은 절차 제어 구조를 제공합니다. 또한 데이터베이스 개체를 조작하기 위한 데이터 유형, 데이터 구조 및 개체 지향 프로그래밍 기능을 제공합니다.

PL/SQL 코드는 데이터베이스 서버에서 처리되므로 데이터베이스와 직접 상호 작용하고, 데이터베이스 트랜잭션을 수행하고, 데이터베이스에 저장된 데이터를 조작할 수 있습니다. 이를 통해 개발자는 대량의 데이터를 처리하고 복잡한 계산을 효율적으로 수행할 수 있는 복잡한 데이터베이스 응용 프로그램을 구축할 수 있습니다.

PL/SQL은 또한 SQL 언어와의 긴밀한 통합을 제공하여 개발자가 PL/SQL 블록 내에서 또는 그 반대로 SQL 문을 실행할 수 있도록 합니다. 이를 통해 데이터 삽입, 업데이트, 삭제, 데이터베이스에 저장된 데이터 검색 및 조작과 같은 복잡한 데이터베이스 트랜잭션을 수행할 수 있습니다.

PL/SQL은 데이터베이스 응용 프로그램 개발, 특히 데이터베이스 중심 응용 프로그램을 만들고 저장 프로시저, 함수 및 패키지를 구축하는 데 널리 사용됩니다. 또한 업데이트, 삽입 및 삭제와 같은 데이터베이스의 변경 사항에 자동으로 응답하는 데이터베이스 트리거를 생성하고 반복 작업을 자동화하는 데이터베이스 작업을 생성하는 데 사용됩니다.

전반적으로 PL/SQL은 Oracle 데이터베이스와 상호 작용할 수 있는 강력하고 유연한 방법을 제공하며 강력하고 확장 가능한 고성능 데이터베이스 응용 프로그램을 구축하려는 데이터베이스 개발자에게 필수적인 도구입니다.

 

Q2. SQL의 LOOP는 WHILE문과 비슷하니 FOR문과 비슷하니?

SQL에서 LOOP 문은 다른 프로그래밍 언어의 WHILE 문과 비슷합니다. LOOP 문을 사용하면 조건이 충족되는 한 코드 블록을 반복적으로 실행할 수 있습니다. 조건이 충족되면 EXIT 문을 사용하여 루프를 종료할 수 있습니다. SQL에서 LOOP 문의 기본 구문은 다음과 같습니다.

<<label>> LOOP
   -- statements
   EXIT [WHEN condition];
END LOOP [label];

반면에 FOR 문은 SQL에서 지원되지 않습니다. 그러나 PL/SQL에서 커서 FOR 루프를 사용하여 SELECT 문에서 반환된 행을 반복할 수 있습니다.

 

 

 

728x90
반응형
LIST