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함수
'일기' 카테고리의 다른 글
24.07.04(목) PL/SQL SQL커서/ CASE문/CASE표현식/ IF문/ 반복문/GOTO문 (0) | 2024.07.10 |
---|---|
24.07.03(수) PL/SQL IF문/CASE문/CASE표현식/LOOP/WHILE LOOP/ FOR LOOP (0) | 2024.07.03 |
24.06.28(금) 수업 요약 COMMENT / WITH / TOP-N / listagg (0) | 2024.07.01 |
24.07.01(월) SQL 시험 (0) | 2024.07.01 |
24.06.27(목) 오라클 수업 COMMENT / WITH / EXTRACT / 분석함수 over() / TOP-N /listagg() (0) | 2024.06.28 |