๋ฏธ๋ฆฌ SQL๋ฌธ์ ๋ง๋ค์ด ์ ์ฅํด ๋๊ณ ํ์ํ ๋ ๋ง๋ค ํธ์ถํ์ฌ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ ์ ๋๋ค.
SELECT * FROM books
USE pubs
GO
--ํ๋ก์์ ธ ์์ฑ๊ตฌ๋ฌธ
CREATE PROC bookSP
AS
SELECT * FROM books
GO
--ํ๋ก์์ ธ ์ํ ๊ตฌ๋ฌธ
EXEC bookSP
ใ
์์ ๋ณด์ฌ๋๋ฆฐ ์์๋ง ๋ด์๋ ๊ตณ์ด ์ ๋ ๋ณต์กํ stored procedure์ ์ฌ์ฉํด์ผ ํ๋์ง ์ดํด๊ฐ ๊ฐ์ง ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด stored procedured์ ์ฅ์ ์ ๋ฌด์์ผ๊น์?
- ์ฑ๋ฅ์ ํฅ์
- ๋ณด์์ฑ์ ์ ๋ฆฌ
- ์ ์ง๋ณด์, ์ฌํ์ฉ์ฑ์ ์ ๋ฆฌ
- ๋คํธ์ํฌ ๋ถํ ๊ฐ์
์ฑ๋ฅ์ ํฅ์์ ์์๋ณด๊ธฐ ์ํด ๋จผ์ SQL ๋ฌธ๊ณผ ์ ์ฅ ํ๋ก์์ ๋์ ๋ฐฉ์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.


์ด๋ ๋ง์ฝ ์บ์์ ๋์ผํ ์ฟผ๋ฆฌ๊ฐ ์๋ค๋ฉด ์์ ๊ณผ์ ์ ์ฒ์๋ถํฐ ์ฌ์คํ ํ๊ฒ ๋ฉ๋๋ค.



sql๋ฌธ
SELECT * FROM books WHERE quantity = 1;
SELECT * FROM books WHERE quantity = 2;
SELECT * FROM books WHERE quantity = 3;
Stored Procedure
--ํ๋ก์์ ธ ์์ฑ๊ตฌ๋ฌธ
CREATE PROC bookSP
@Quantity int
AS
SELECT * FROM books WHERE quantity = @quantity;
--ํ๋ก์์ ธ ์ํ ๊ตฌ๋ฌธ
EXEC bookSP 1;
EXEC bookSP 2;
EXEC bookSP 3;
๋ฐ๋ผ์ stored procedure์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ ์ธ ๋ฉด์์ ์ ๋ฆฌํฉ๋๋ค.
์ค์ ํ ์ด๋ธ์ ์ ๊ทผํ์ฌ ๋ค์ํ ์กฐ์์ ํ๋ ๊ฒ์ ์ํํ ์ผ์ ๋๋ค.
๋ฐ๋ผ์ ์ฌ์ฉ์๋ณ๋ก ํ ์ด๋ธ์ ๊ถํ์ ์ฃผ๋๊ฒ ์๋ ์ ์ฅ ํ๋ก์์ ์๋ง ์ ๊ทผ ๊ถํ์ ์ฃผ๋ ๋ฐฉ์์ ํตํด ๋ณด์์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
ํ๋ก์์ ๋ฅผ ํ ๋ฒ ๋ง๋ค์ด ๋์ผ๋ฉด ํ๋ก์์ ์ด๋ฆ๊ณผ ๋งค๊ฐ๋ณ์ ๋ง์ผ๋ก ๊ณ์ ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์์ ์ฌํ์ฉ์ฑ์ ์ ๋ฆฌํฉ๋๋ค. ๋ํ ๋น์ฆ๋์ค ๋ก์ง์์ ์ฟผ๋ฆฌ๋ฌธ์ ์ผ์ผ์ด ์ฐพ์ ์์ ํ๋ ๊ฒ์ด ์๋ ํ๋ก์์ ๋ฅผ ์์ ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ํํ ์ ์ง๋ณด์๊ฐ ๊ฐ๋ฅํด ์ง๋๋ค.
์๋ฒ๋ก ๋ง์ ์์ ์ผ๋ฐ ์ฟผ๋ฆฌ๋ฅผ ๊ณ์ ํธ์ถํ๋ค๋ฉด ๋คํธ์ํฌ์ ๋ถ๋ด์ด ๋ ์ ์์ต๋๋ค. ํ๋ก์์ ๋ ํ๋ก์์ ๋ช ๊ณผ ๋งค๊ฐ๋ณ์๋ง์ผ๋ก ํธ์ถ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ์ ๋ํ ๋ถ๋ด์ ์ค์ผ ์ ์์ต๋๋ค.
์ต์ ํ ๋จ๊ณ์์ ๊ฒฐ์ ๋๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉ์ฌ๋ถ๋ก ์ธํด ์ฑ๋ฅ ๋ณํ๊ฐ ์๊ธธ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์์ด ๋ง์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์คํ๋ ค ์ฑ๋ฅ์ด ๋ ๋๋น ์ง ์ ์์ต๋๋ค.