โ Java * [Mybatis] Update ๋ฌธ์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํ๊ณ ์ถ๋ค..!! ( feat. Oracle )
Insert ๋ฌธ์ ๋ฉํฐ๋ก ๊ฐ๋ฅํ๋ฉด์ ์!! Update ๋ ์ํด์ฃผ๋๊ฐ!!
์ฌ์ค ์ง๊ธ๊น์ง ๊ฐ๊ธฐ ๋ค๋ฅธ ์กฐ๊ฑด์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ฐ์ ๋ฃ์ด์ ์ ๋ฐ์ดํธ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์๋ค.
์๋์น ์๊ฒ ๊ฐ๊ฐ ๋ค๋ฅธ ์กฐ๊ฑด์ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ ํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ์ผ๋,,
๋ฐฉ๋ฒ์ ์์๋ณด์.
foreach ๋ก ๋ฐ๋ณต์ ํ๋ฉด ๋๋๋ฐ ์กฐ๊ฑด๋ ๋งคํํด์ฃผ๋ฉด ๋๋๋ฐ,, ๊ทธ๋ฅ ๊ฐ์ธ์ฃผ๊ธฐ๋ง ํ๋ฉด ์ค๋ฅ๋ฅผ ๋ง๋ ์ ์๋ค.
ORA-01795: maximum number of expressions in a list is 1000
์์..์ฏช!
์ค์ ์ถ๋ ฅ๋๋ query ๋ฌธ๋ ์ด๋ ๊ฒ ์คํํ๋ค๊ฐ ์๋ฌด๊ฒ๋ ์๋๊ฒ ๊ตฐ! ํ๋ ์ฐ๊ฒฐ๋ ์ฟผ๋ฆฌ๋ฅผ ์ถ๋ ฅํด์ค๋ค.
๋ฉํฐ ์ฟผ๋ฆฌ๋ฅผ ๋ง๋๋ ์ต์ (?) ์ด ๋ณ๋๋ก ์กด์ฌํ๊ณ ์ ํ ํ๋ฉด ๋์ง๋ง ๋์ ๊ฒฝ์ฐ๋,,
๋ง์ด๊ทธ๋ ์ด์ ์์ ์ต์ด 1๋ฒ ์ ํ ์ ์ํ ์คํ์ด๋ผ ๊ตณ์ด ์ค์ ๋ณ๊ฒฝ๊น์ง๋ ํ๊ธฐ ์ซ์ด์ foreach ์ ์กฐ๊ฑด์ ์ฌ์ฉํ๋ค.
Oracle ์ PL/SQL ๊ตฌ๋ฌธ์ธ DECLARE DEBIN ...; END; ์ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํ๋ค.
<foreach item="rowKey" collection="rowKeys" separator=";" open="DECLARE BEGIN" close="; END;">
UPDATE_์ฟผ๋ฆฌ_์์ฑ
</foreach>
์ด์ฐจํผ separtor ; ๋ก ๊ตฌ๋ถ๋๋ฉด update ์ฟผ๋ฆฌ๊ฐ ์ฌ๋ฌ๊ฐ ๋ถ์ฌ์ง๋ ๊ฑฐ๋๊น ์๊ด์์ง ์์๊น? ์๊ฐํ์ง๋ง
์ค๋ผํด์ ๋ง๋งํ์ง ์์๋ค.. ORA-00911: invalid character
... ๐ฅ PL/SQL ๋ฌธ์ ๋ถ์ฌ์ฃผ์.. ๐ณ๏ธ
๊ทธ๋ ๋ค๋ฉด,, MariaDB ๋..?
๋ฐ๋ก ์ค์ตํ ํ์๊ฐ ์์ด์ GPT๐ค ์๊ฒ ๋ฌผ์ด๋ดค๋ค.
<foreach item="rowKey" collection="rowKeys" separator=";">
UPDATE_์ฟผ๋ฆฌ_์์ฑ
</foreach>
์คํ ๊ฒฐ๊ณผ๋.. ์ธ์ ๊ฐ ํ์ํ๊ฒ ๋ ๋ ๋๋ ์ด ๊ธ์ ๋ณด๊ณ ์๋ํด ๋ณธ ๋น์ ์๊ฒ ๋ถํ๋๋ฆฐ๋ค ๐!
Thanks for ๐