[๋ฐ์ดํฐ๋ฒ ์ด์ค] PL/SQL
๐งช Computer Science/Database
PL/SQL์ด๋?
- Procedural Language/Structured Query Language๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋๋ฐ ์ฌ์ฉํ๋ ์ค๋ผํด ์ ์ฉ SQL ์ธ์ด
- SQL ์ ์ฉ ์ธ์ด๋ก SQL๋ฌธ์ ๋ณ์, ์ ์ด, ์ ์ถ๋ ฅ ๋ฑ์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ SQL๋ง์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ํด๊ฒฐ
- PL/SQL์ SQL Developer์์ ๋ฐ๋ก ์์ฑํ๊ณ ์ปดํ์ผํ ํ ๊ฒฐ๊ณผ๋ฅผ ์คํํจ
- PL/SQL์๋ ํ๋ก์์ , ํธ๋ฆฌ๊ฑฐ, ์ฌ์ฉ์ ์ ์ ํจ์ ๋ฑ์ด ์๋ค.
ํ๋ก์์
CREATE PROCEDURE
๋ฌธ์ ์ฌ์ฉํด ์ ์- PL/SQL์ ์ ์ธ๋ถ(BEGIN)์ ์คํ๋ถ(END)๋ก ๊ตฌ์ฑ
- ์ ์ธ๋ถ์์๋ ๋ณ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ๊ณ , ์คํ๋ถ์์๋ ํ๋ก๊ทธ๋จ ๋ก์ง์ ๊ตฌํํ๋ค.
- ๋งค๊ฐ๋ณ์๋ ์ ์ฅ ํ๋ก์์ ๊ฐ ํธ์ถ๋ ๋ ๊ทธ ํ๋ก์์ ์ ์ ๋ฌ๋๋ ๊ฐ์ด๋ค.
- ๋ณ์๋ ์ ์ฅ ํ๋ก์์ ๋ ํธ๋ฆฌ๊ฑฐ ๋ด์์ ์ฌ์ฉ๋๋ ๊ฐ์ด๋ค.
- Insert๋ Update์ ๊ฐ์ด ์ฌ๋ฌ ๋ฒ ์์ฃผ ์ดํํด์ผํ๋ SQL๋ฌธ๋ค์ ํ๋ก์์ ๋ก ๊ตฌํํด๋๋ฉด ์๋นํ ํธ๋ฆฌ์ฑ์ ์ป์ ์ ์๋ค.
ํธ๋ฆฌ๊ฑฐ
- ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ(INSERT, DELETE, UPDATE)๋ฌธ์ด ์คํ๋ ๋ ์๋์ผ๋ก ์คํ๋๋ ํ๋ก์์ ๋ฅผ ์๋ฏธํ๋ค.
CREATE TRIGGER
๋ฌธ์ ์ฌ์ฉํด ์ ์- BEFORE ํธ๋ฆฌ๊ฑฐ์ AFTER ํธ๋ฆฌ๊ฑฐ๊ฐ ์๋ค.
- BEFORE ํธ๋ฆฌ๊ฑฐ๋ ํด๋น ํ๋ก์์ ์ ์คํ ์ด์ ์ ์๋์ผ๋ก ๋จผ์ ์คํ๋๋ ํ๋ก์์ ์ด๋ฉฐ, AFTER ํธ๋ฆฌ๊ฑฐ๋ ํด๋น ํ๋ก์์ ๊ฐ ์คํ๋ ํ์ ์๋์ผ๋ก ์คํ๋๋ ํ๋ก์์ ์ด๋ค.
์ฌ์ฉ์ ์ ์ ํจ์
CREATE FUNCTION
๋ฌธ์ ์ฌ์ฉํด ์ ์- ์ฌ์ฉ์ ์ ์ ํจ์๋ ์ํ์ ํจ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ๋ ฅ๋ ๊ฐ์ ๊ฐ๊ณตํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค๋ค.
ํ๋ก์์ , ํธ๋ฆฌ๊ฑฐ, ์ฌ์ฉ์ ์ ์ ํจ์ ๋น๊ต
'๐งช Computer Science > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ ๊ทํ(Normalization) / ์ด์ํ์, ํจ์์ข ์์ฑ, ์ ๊ทํ (0) | 2021.07.06 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง(Data Modeling) (0) | 2021.07.04 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] SQL ๊ธฐ์ด(๋ฐ์ดํฐ ์ ์์ด/์กฐ์์ด/์ ์ด์ด) (0) | 2021.07.04 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด๊ณผ ํค(Key) (0) | 2021.07.03 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] Index (0) | 2021.06.30 |