일기

24.07.02(화) PL/SQL 수업 요약 PL/SQL뜻 / 익명블록구조/ bind변수 /변수/PL/SQL의 SQL함수

Boggi 2024. 7. 3. 15:28
반응형

PL/SQL(Procedure Language Structured Query Language)
- SQL을 확장한 절차적 언어(Procedure Language)
- 프로시저(PROCEDURE) 생성자를 제공한다.
- 한 번 작성하면 여러번 수행할 수 있는 재사용 가능한 프로그램 단위
- PL/SQL 프로그램은 블록구조형식이야.

프로시저는 세미콜론(;)으로 끝난 문장들을 프로시저라고 해.
PL/SQL은 프로시저를 이용한 프로그램. 
이 프로그램은 블록구조형식으로 돼 있어.
그 중에 오늘 배운 블록구조형식은 익명블록구조

■화면 출력하기
화면에 출력할 때는 BEGIN에 DBMS_OUTPUT.PUT_LINE(); --print와 같은 명령

만약 sqlplus에서 출력할 때는 환경설정이 필요 --> SET SERVEROUTPUT ON 

■익명블록구조

- 객체 프로그램이 아니야(DB에 저장돼있지 않아)
DECLARE(선언부분) / BEGIN(실행부분) / EXCEPTION(예외사항_ /END의 구조
BEGIN / END 필수사항이고, DECLARE / EXCEPTION은 선택사항
익명블록구조에서는 변수를 global처럼 사용하기 위해서 bind 변수를 사용해.

 

◎bind variable : 익명블록구조 바깥쪽에서 선언된 변수
- 사용법: variable 변수명 number(데이터타입)
- 바인드 변수는 SQL문, 익명블록구조에서만 사용한다.
- 바인드 변수를 사용할 때는 콜론(:) 키워드를 바인드 변수 이름 앞에 입력해야 한다.
- 바인드 변수에는 number타입에 사이즈 명시하면 안돼
- 프로그램 밖에서 bind변수 사용 할때 execute 사용할 수도 있어.

■변수
- 데이터를 임시로 저장하는 메모리 영역
- 문자로 시작 / 문자,숫자,특수문자(_,$,#)사용가능 / 길이30자 이하 / 예약어(X) / NOT NULL제약조건 걸 수 있어 / 상수로 지정된 변수는 초기값을 할당해야 해
- := 변수에 값을 할당하는 연산자 또는 default
- 변수 또는 상수는 하나의 행에 하나씩 선언

- scalar data type : 단일값만 보유한 변수
- local variable(지역변수): 선언된 블록 프로그램에서만 수행하는 변수
- global variable(전역변수): 프로그램 어디서든 사용하는 변수

■ PL/SQL의 SQL함수
- 프로시저문에서 사용할 수 있는 함수 : 단일행함수
- 프로시저문에서 사용할 수 없는 함수 : decode, 그룹함수,nvl2함수