[ORACLE] ๋ ๊ฐ์ ํ ์ด๋ธ ์กฐ์ธ ํ ์ ๋ฐ์ดํธ
๊ฐ์ :
ํน์ ํ ์ด๋ธ์์ ํน์ ๋ฉ๋ด์ ์์๋๋ ๋ฐ์ดํฐ์ ๊ฐ์ ๋ณ๊ฒฝํด์ผํ๋ ์ผ์ด ์๊ฒผ๋ค. ํ์ง๋ง ๊ทธ ํ ์ด๋ธ์๋ ์กฐ๊ฑด์ ์ ์ค ์ ์์ ๋งํ ์ปฌ๋ผ์ด ์กด์ฌํ์ง ์์๊ณ ๊ธฐ์กด์๋ ๋ค๋ฅธํ ์ด๋ธ๊ณผ ์กฐ์ธํ์ฌ ์ฌ์ฉํ๋ ํ ์ด๋ธ์ด์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ๋ฐ์ดํธ๋ฌธ์ ์ํํ ๋ ๋ํ ๋ค๋ฅธ ํ ์ด๋ธ๊ณผ์ ์กฐ์ธ์ ํตํด ์กฐ๊ฑด์ ์ฃผ์ด ์ํํด์ผํ๋ค๋ ์๊ฐ์ด ๋ค์ด ํด๋ณด์์ง๋ง ๊ธฐ์กด UPDATE๋ฌธ์ผ๋ก๋ ํด๊ฒฐ๋์ง ์์๋ค.
๊ธฐ์กด ์คํ๋ฌธ :
--์ค๋ช
UPDATE
(
SELECT *
FROM
[๋ฉ๋ด์ฝ๋๋ฅผ ํฌํจํ ํ์ผ๊ด๋ จ ํ
์ด๋ธ] R,
[ํ์ผ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ด์ ํ
์ด๋ธ] F
WHERE r.orikey = f.file_idx -- [์กฐ์ธ์กฐ๊ฑด]
AND r.[๋ฉ๋ด๊ตฌ๋ถ์ปฌ๋ผ] = '813' -- ๋ฉ๋ด๊ตฌ๋ถ
AND f.[ํ์ผํ์
๊ตฌ๋ถ์ปฌ๋ผ] = '364' -- ํ์ผํ์
๊ตฌ๋ถ
)
SET [๋ณ๊ฒฝ์์ ์ปฌ๋ผ] = '[๋ณ๊ฒฝ์์ ๊ฐ]';
--์ค์ ์คํ๋ฌธ
UPDATE
(
SELECT *
FROM
RP_RELATION_DATA R,
RP_CULTURAL_RELATION F
WHERE r.orikey = f.file_idx
AND r.relmenucd = '813' -- ์ ์ ๋ชฉ๋ก menucd
AND f.FILETYPE_CD = '364' -- ์ด๋ฏธ์ง ํ์ผ ํ์
)
SET COPYRIGHT = '[๋ณ๊ฒฝ์์ ๊ฐ]';
- ์ฒ์ ์๊ฐํ๋๊ฒ์ ์ผ๋ฐ ์ ๋ฐ์ดํธ๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์๊ฐ์ด ์กฐํ์กฐ๊ฑด์ ๋ง๋ค์ด ํ ์ด๋ธ์ ์กฐํํด๋๊ณ SET์ ์ ๋ณ๊ฒฝ๋ด์ฉ์ ์ ๋ ฅํด๋๋ฉด ๊ฐ๋ฅํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์๋ค.
ํด๊ฒฐ๋ ์คํ๋ฌธ :
MERGE INTO
RP_CULTURAL_RELATION A
USING
RP_RELATION_DATA B
ON
(
A.FILE_IDX = B.ORIKEY
AND B.RELMENUCD = '813'
AND A.FILETYPE_CD = '364'
)
WHEN MATCHED
THEN
UPDATE SET A.COPYRIGHT = '[๋ณ๊ฒฝ์์ ๊ฐ]';
- MERGE๋ฌธ์ ํ์ฉํ์ฌ ํด๊ฒฐํจ ์์งํ ํด๊ฒฐ๋ ์ง๊ธ๋ ํฌ๊ฒ ์ฐจ์ด๋ฅผ ๋๋ผ์ง ๋ชปํ๊ฒ ๋ค...