SQL(Structured Query Language)과 PL/SQL(Procedural Language/Structured Query Language) 모두 데이터베이스 관련 언어이지만, 다음과 같은 차이점이 있습니다.
목적
- SQL: 데이터를 검색, 삽입, 수정, 삭제하는데 사용되는 질의어
- PL/SQL: SQL에 프로그래밍적인 요소를 추가하여 프로시저, 함수, 트리거 등을 만드는 언어
구조
- SQL: 단일 질의어
- PL/SQL: 구조적인 프로그래밍을 통해 프로시저, 함수, 트리거 등을 만드는 언어
실행 방식
- SQL: 한 번에 하나의 질의만 실행하며, 데이터베이스에서 질의 결과를 처리
- PL/SQL: 프로그램으로서 실행되므로, 프로그램에서 명시적으로 호출해야 함
변수와 제어문
- SQL: 변수를 정의하거나 제어문(if, while, for 등)을 사용할 수 없음
- PL/SQL: 변수를 정의하고 제어문을 사용하여 프로그래밍적인 요소를 추가할 수 있음
즉, SQL은 단순한 데이터베이스 질의 언어이며, PL/SQL은 SQL에 프로그래밍적인 요소를 추가하여 프로그램으로서 사용할 수 있는 언어입니다. PL/SQL은 SQL을 기반으로 하고 있기 때문에 SQL 문법을 모두 지원하며, 변수와 제어문 등을 추가하여 데이터베이스와 관련된 프로그래밍을 할 수 있습니다.