์ข์ธก ๊ทธ๋ฆฌ๋์ row๋ฅผ ํด๋ฆญํ๋ฉด ์ค๋ฅธ์ชฝ ๊ทธ๋ฆฌ๋๊ฐ ์กฐํ๋๋ ํ๋ฉด์ ๋ง๋ค์๋๋ฐ, ์ข์ธก ๊ทธ๋ฆฌ๋์ ๊ฐ์ ๋ฐ๋ผ ์กฐํํ๋ ํ
์ด๋ธ์ด ๊ฐ๊ฐ ๋ฌ๋ผ์ ์ฐ์ธก ๊ทธ๋ฆฌ๋์ ์ปฌ๋ผ์ ์ ์ ์ธ ๊ฐ์ผ๋ก ๊ณ ์ ํ๊ธฐ ํ๋ค์๋ค. ํ ์ ์์์ง๋ง ์ ๋งคํ ๋จ์ด ์ ํ์ผ๋ก ์ฌ์ฉ์์๊ฒ ํผ๋์ ์ผ๊ธฐํ ๊ฒ์ด ๋ถ๋ช
ํ๊ณ , ์ด๋ ๊ณง ์์ ์์ฒญ ์ฌํญ์ผ๋ก ์ ์๋๊ธฐ ๋ง๋ จ์ด๋ค(๊ฒฝํ์ด๋ค).
๊ทธ๋์ ์ฐ์ธก ๊ทธ๋ฆฌ๋๊ฐ ์กฐํ๋ ๋๋ง๋ค ์ปฌ๋ผ์ ๋์ ์ผ๋ก ์ธํ
๋๋๋ก ์ค๊ณํ๋ค. ์ด ๋ ๋์ ์ผ๋ก ์ธํ
๋๋ ์ปฌ๋ผ ๊ฐ์ ์กฐํํด์ค๋ ์ปฌ๋ผ ๊ฐ ๊ทธ๋๋ก ๋ฟ๋ ค์ฃผ๋ ์ ๋ถ ์์ด๋ก ์ถ๋ ฅ๋์ด, ๋ฐ์ดํฐ๋ฅผ ์์๋ณด๊ธฐ ์ด๋ ค์์ ๊ฐ๊ฐ์ ํ
์ด๋ธ ์ปฌ๋ผ ์ฝ๋์ ๋งคํ๋ ์ปฌ๋ผ ๊ฐ์ ๊ฐ์ ธ์์ ๋ฟ๋ ค์ฃผ๊ธฐ๋ก ํ๋ค.
SELECT *
FROM ALL_COL_COMMENTS
WHERE TABLE_NAME = 'ํ
์ด๋ธ๋ช
'
OR
SELECT *
FROM COLS
WHERE TABLE_NAME = 'ํ
์ด๋ธ๋ช
'
์ ์ฟผ๋ฆฌ๋ฅผ ํ์ฉํด ํ ์ด๋ธ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์๊ณ , ๋์ ๊ฒฝ์ฐ์ COLUMN_NAME์ ์ปฌ๋ผ ์ฝ๋ ๊ฐ, COMMENTS์ ์ปฌ๋ผ ๋ช ์ ๋งคํํด๋จ๋ค.
SELECT '{'||LISTAGG('"'||COLUMN_NAME||'":"'||COMMENTS||'"',',') WITHIN GROUP (ORDER BY COLUMN_NAME)||'}' AS COLUMNS
FROM ALL_COL_COMMENTS
WHERE TABLE_NAME = 'ํ
์ด๋ธ๋ช
'
LISTAGG ํจ์๋ row ๋จ์๋ก ์ถ๋ ฅ๋๋ ๋ฐ์ดํฐ๋ฅผ ํน์ ๊ตฌ๋ถ์๋ก ์ฐ๊ฒฐ์์ผ 1row ๋ฆฌ์คํธ๋ก ์ถ์ถํด์ฃผ๋ ํจ์๋ค. ํด๋น ํจ์๋ฅผ ์ฌ์ฉํด COLUMN_NAME๊ณผ COMMENTS๋ฅผ JSON Object ํ์์ผ๋ก ์ถ์ถํ๋ค.
์ ์ฌ์ง์ ๋ฐ์ดํฐ๋ ๊ฐ๊ณต์ ์ํด ์ธ์์ ์ผ๋ก JSON์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋ค์์ ๋ฟ, type์ ์ฒดํฌํด๋ณด๋ฉด JSON ๊ฐ์ฒด๊ฐ ์๋ String์ด๋ค. ์ด๋ฅผ JSON ๊ฐ์ฒด๋ก ๋ฐ๊ฟ์ฃผ๊ณ ์ปฌ๋ผ ๋ช ์ ์ค์ ํด์ฃผ๋ ๋ถ๋ถ์ ํค๊ฐ์ผ๋ก ํธ์ถํด์ฃผ๋ฉด ๋๋ค.
// ์์ ์
if ($NC.isNotNull(rowData)) {
for (let field in rowData) {
if (field == "id" || field == "CRUD") {
continue;
}
$NC.setGridColumn(columns, {
id: field,
field: field,
name: field, //์ปฌ๋ผ ๋ช
์ ์ค์ ํด์ฃผ๋ ๋ถ๋ถ
minWidth: field.length * 10
}, false);
}
}
// ์์ ํ
let COLUMN_ARRAY = JSON.parse(rowData.COLUMN_LIST); // String → JSON ๊ฐ์ฒด๋ก ๋ณํ
if ($NC.isNotNull(rowData)) {
for (let field in rowData) {
if (field == "id" || field == "CRUD") {
continue;
}
$NC.setGridColumn(columns, {
id: field,
field: field,
name: COLUMN_ARRAY[field], // JSON ๊ฐ์ฒด์์ key ๊ฐ์ผ๋ก value ๊ฐ ์ถ์ถ
minWidth: field.length * 10
}, false);
}
}
์ฒ์์๋ COLUMN_ARRAY.field ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํธ์ถํ๋ฉด ๋ ์ค ์์๋๋ฐ, for๋ฌธ์ ๋๋ฉด์ field์ String ํ์ผ๋ก ๊ฐ์ด ๋ค์ด๊ฐ๋ค ๋ณด๋ ์ํ๋๋๋ก ํธ์ถ์ด ๋์ง ์์๋ค(COLUMN_ARRAY.'BU_CD' ์ด๋ ๊ฒ ํธ์ถ ๋ ๋ฏ).
๊ทธ๋์ ์์ ์์ ๋ ์ฝ๋ ์ฒ๋ผ COLUMN_ARRAY[field] ํ์์ผ๋ก ๋ฐ๊พธ๋ ๊ฐ์ด ์ ๋์๋ค.
'๊ฐ๋ฐ์ผ๊ธฐ ๐ป' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JSP] JAVA๋ก ์ฐ์ฒด๊ตญ Open API ๋ณตํธํ/์ํธํ ํ๋ฉด ๋์ฐ๊ธฐ (0) | 2023.11.30 |
---|---|
[Eclipse] ํญ์ ์คํ์ด์ค๋ก ๋ฐ๊พธ๊ธฐ (0) | 2023.11.16 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์คํฑ์์น ๋ง๋ค๊ธฐ (์ด๊ฐ๋จ) (0) | 2023.11.08 |
[SublimeText] ๋จ์ถํค ์ ๋ฆฌ (1) | 2023.10.30 |
[Eclipse]์ดํด๋ฆฝ์ค ํ ๋ง Darkest Dark Theme ์ ์ฉ ์ค๋ฅ ํด๊ฒฐ (0) | 2023.10.26 |