๋์ SQL
๋์ SQL์ ๋ฏธ๋ฆฌ ์ฟผ๋ฆฌ๋ฌธ์ ์ค๋นํ ํ์ ๋์ค์ ์คํํ๋ ๊ฒ์ ๋งํ๋ค. PREPARE๊ณผ EXECUTE๋ก ๊ตฌํํ ์ ์๋ค.
PREPARE ์ฟผ๋ฆฌ์ด๋ฆ FROM '์ฟผ๋ฆฌ๋ฌธ'; -- ์ฟผ๋ฆฌ๋ฌธ์ ์ค๋น๋ง ํ๊ณ ์คํํ์ง ์์
EXECUTE ์ฟผ๋ฆฌ์ด๋ฆ [USING @๋ณ์]; -- ์ฟผ๋ฆฌ๋ฌธ์ด ์คํ๋จ
PREPARE๊ณผ EXECUTE์ ํ์์ ์์ ๊ฐ๋ค. ์ฟผ๋ฆฌ ์ด๋ฆ์ ๋ด ๋ง์๋๋ก ์ค์ ํ ์ ์๊ณ PREPARE์ ์๋ '์ฟผ๋ฆฌ๋ฌธ'์ EXECUTE ๋ฅผ ๋ง๋๋ ์๊ฐ์ ์คํ๋๋ค. USING @๋ณ์๋ '์ฟผ๋ฆฌ๋ฌธ'์ ๋์ ํ ์ ์๋ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๊ฒ. ์๋ ์์๋ฅผ ๋ณด๋ฉด ์ดํดํ๊ธฐ ์ฝ๋ค.
1 2 3 4 | SET @var = 1; PREPARE myQuery FROM 'INSERT INTO myTable VALUES(NULL, ?)'; EXECUTE myQuery USING @var; | cs |
'INSERT INTO myTable VALUES(NULL, ?)'์ myTable์ ๊ฐ ์ด์ null๊ณผ ?์ ์ถ๊ฐํ๋ค๋ ์๋ฏธ๋ค. '?'๋ ํฅํ EXECUTE์์ ์
๋ ฅ๋ ๊ฐ์ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ EXECUTE myQuery USING @var; ๋ ?์ var๋ฅผ ๋์
ํด์ myQurey๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค. ๊ฒฐ๊ตญ INSERT INTO myTable VALUES(NULL, var)๊ฐ ๋๋ ๊ฒ.
์ฌ์ค EXECUTE๋ก ์ฟผ๋ฆฌ๋ฌธ์ ์คํํ ํ์๋ DEALLOCATE PREPARE๋ก ๋ฌธ์ฅ์ ํด์ ํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์๋์ฒ๋ผ ์ฌ์ฉํ์.
1 2 3 4 5 | SET @var = 1; PREPARE myQuery FROM 'INSERT INTO myTable VALUES(NULL, ?)'; EXECUTE myQuery USING @var; DEALLOCATE PREPARE myQuery; | cs |
'IT > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Linux MySQL ํ๊ธ ์ ๋ ฅ (0) | 2018.08.21 |
---|---|
๋ฆฌ๋ ์ค MySQL ์ค์น (1) | 2018.08.21 |
MySQL ์ค๋ฅ ์ฒ๋ฆฌ(์กฐ๊ฑด ํธ๋ค๋ฌ) (1) | 2018.08.21 |
MySQL max_allowed_packet (1) | 2018.08.15 |
MySQL ASCII(์์คํค ์ฝ๋) BLOB๋ก ๋ณด์ผ ๋ (1) | 2018.08.15 |
MySQL ๋ฐ์ดํฐ ํ ๋ณํ (0) | 2018.08.14 |
SQL SELECT ์ฌ์ฉ๋ฒ (2) | 2018.08.13 |
DB ์ด๋ฆ, ํ ์ด๋ธ ์ด๋ฆ, ํ๋ ์ด๋ฆ ์กฐํํ๊ธฐ (0) | 2018.08.12 |