45 lines
1.0 KiB
Markdown
45 lines
1.0 KiB
Markdown
```sql
|
|
WITH LIST AS
|
|
(
|
|
SELECT A.TABLE_NAME,
|
|
A.COLUMN_NAME,
|
|
A.DATA_TYPE,
|
|
A.DATA_LENGTH,
|
|
A.NULLABLE,
|
|
B.COMMENTS
|
|
FROM dba_tab_columns A,
|
|
all_col_comments B
|
|
WHERE A.OWNER = B.OWNER
|
|
AND A.TABLE_NAME = B.TABLE_NAME
|
|
AND A.COLUMN_NAME = B.COLUMN_NAME
|
|
AND A.OWNER = 'LOTOSDEV' -- DB명
|
|
),
|
|
PKLIST AS
|
|
(
|
|
SELECT C.TABLE_NAME,
|
|
C.COLUMN_NAME,
|
|
C.POSITION
|
|
FROM USER_CONS_COLUMNS C,
|
|
USER_CONSTRAINTS S
|
|
WHERE C.CONSTRAINT_NAME = S.CONSTRAINT_NAME
|
|
AND S.CONSTRAINT_TYPE = 'P'
|
|
)
|
|
SELECT L.TABLE_NAME AS "테이블명",
|
|
L.COLUMN_NAME AS "컬럼명",
|
|
L.DATA_TYPE AS "데이터타입",
|
|
L.DATA_LENGTH AS "길이",
|
|
CASE WHEN P.POSITION < 99 THEN 'Y'
|
|
ELSE ' '
|
|
END AS "PK",
|
|
L.NULLABLE AS "Null 여부",
|
|
L.COMMENTS AS "Comments"
|
|
FROM LIST L,
|
|
PKLIST P
|
|
WHERE L.TABLE_NAME = P.TABLE_NAME(+)
|
|
AND L.COLUMN_NAME = P.COLUMN_NAME(+)
|
|
ORDER BY L.TABLE_NAME,
|
|
NVL(P.POSITION, 99)
|
|
;
|
|
|
|
|
|
``` |