๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€/Oracle

[ex29] PL/SQL

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