PL/SQL
- Oracle's Procedural Language Extension to SQL
- ANSI-SQL์ ์ ์ฐจ ์งํฅ ์ธ์ด์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ SQL
- ANSI-SQL + ์๋ฐ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ธฐ๋ฅ = PL/SQL
ANSI-SQL
- ๋น์ ์ฐจ ์งํฅ ์ธ์ด
- ์์๊ฐ ์๊ณ ๋ฌธ์ฅ๊ฐ์ ํ๋์ด ์๋ก ๋
๋ฆฝ์ ์ด๋ค.
- ๋ฌธ์ฅ ๋จ์ ๊ตฌ์กฐ
ํ๋ก์์ , Procedure
- ๋ฉ์๋, ํจ์ ๋ฑ..
- ์์๊ฐ ์๋ ๋ช
๋ น์ด(ANSI-SQL + PL/SQL)์ ์งํฉ
1. ์ต๋ช
ํ๋ก์์
- 1ํ์ฉ ์ฝ๋ ์์ฑ์ฉ
2. ์ค๋ช
ํ๋ก์์
- ์ ์ฅ(๋ฐ์ดํฐ๋ฒ ์ด์ค) > DB Object
- ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
- ๊ณ์ ๊ฐ ๊ณต์ ๊ฐ๋ฅ
PL/SQL ํ๋ก์์ ๋ธ๋ญ ๊ตฌ์กฐ
- 4๊ฐ์ ํค์๋(๋ธ๋ญ)์ผ๋ก ๊ตฌ์ฑ
a. declare
b. begin
c. exception
d. end
a. declare
- ์ ์ธ๋ถ
- ํ๋ก์์ ๋ด์์ ์ฌ์ฉํ ๋ณ์, ๊ฐ์ฒด ๋ฑ์ ์ ์ธํ๋ ์์ญ
- ์๋ต ๊ฐ๋ฅ
b. begin
- ์คํ๋ถ, ๊ตฌํ๋ถ
- begin ~ end
- begin(๊ตฌํ๋ถ ์์) ~ end(๊ตฌํ๋ถ ๋)
- ์๋ต ๋ถ๊ฐ๋ฅ
- ํต์ฌ ํํธ
- ๊ตฌํ ์ฝ๋ > ANSI-SQL + PL/SQL
c. exception
- ์์ธ์ฒ๋ฆฌ๋ถ
- catch์ญํ
- ์์ธ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ์์ฑ
- ์๋ต ๊ฐ๋ฅ
d. end
- begin ๋ธ๋ญ์ ์ข
๋ฃ ์ญํ
- ์๋ต ๋ถ๊ฐ๋ฅ
declare
๋ณ์ ์ ์ธ
๊ฐ์ฒด ์ ์ธ
begin
๊ตฌํํ ์ฝ๋(SQL)
exception
์์ธ์ฒ๋ฆฌ ์ฝ๋
end;
- ์๋ต์
begin
๊ตฌํํ ์ฝ๋(SQL)
end;
PL/SQL์ ํ๊ฒฝ > ANSI-SQL์ ํ๊ฒฝ๊ณผ ๊ฑฐ์ ๋์ผํ๊ฒ ๊ตฌํ
PL/SQL ์๋ฃํ
- ANSI-SQL๊ณผ ๊ฑฐ์ ๋์ผ
๋ณ์ ์ ์ธํ๊ธฐ
- ๋ณ์๋ช
์๋ฃํ [not null] [default ๊ฐ];
- ์ฃผ๋ก ์ง์(select)์ ๊ฒฐ๊ณผ๊ฐ์ ์ ์ฅํ๋ ์ฉ๋
- ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฉ๋
PL/SQL ์ฐ์ฐ์
- ANSI-SQL๊ณผ ๊ฑฐ์ ๋์ผ
๋์
์ฐ์ฐ์
- ANSI-SQL
ex) update table set column = ๊ฐ;
- PL/SQL
ex) ๋ณ์ := ๊ฐ;
'ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ > Oracle' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ex28] modeling (0) | 2023.03.30 |
---|---|
[ex27] transaction (0) | 2023.03.30 |
[ex26] Hierarchical Query (0) | 2023.03.30 |
[ex25] with (0) | 2023.03.30 |
[ex24] rank (0) | 2023.03.30 |