250x250
    
    
  
                              Notice
                              
                            
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                            Tags
                            
                        
                          
                          - spring
 - Open Source
 - Exception
 - 설정
 - maven
 - STS
 - PostgreSQL
 - Eclipse
 - 오픈소스
 - Thymeleaf
 - ubuntu
 - Source
 - myBatis
 - git
 - IntelliJ
 - oracle
 - JDBC
 - MSSQL
 - Core Java
 - Spring Boot
 - MySQL
 - AJAX
 - JavaScript
 - Python
 - jpa
 - Tomcat
 - error
 - 문서
 - Docker
 - SpringBoot
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
헤르메스 LIFE
[Oracle] Table 목록 조회 본문
728x90
    
    
  1. 현재 계정의 테이블 목록을 보여줌.
SELECT * FROM tab; 
SELECT *
FROM ALL_TABLES
WHERE TABLE_NAME LIKE '[TABLE명]'
2. 모든 계정의 테이블 목록을 보여줌.
SELECT * FROM all_tables WHERE OWNER = SCOTT; 
SELECT * FROM user_tables; 
3. SYNONYM 정보
SELECT *
  FROM ALL_SYNONYMS
 WHERE SYNONYM_NAME = 'SYNONYM명'
;
4. Procedure 목록
SELECT *
  FROM USER_PROCEDURES
 WHERE OBJECT_NAME LIKE '%[프로시저명]%'
;
SELECT OBJECT_ID
     , OBJECT_TYPE
     , OBJECT_NAME
     , TO_CHAR(CREATED, 'YYYY-MM-DD HH24:MI:SS') AS CREATED
     , TO_CHAR(LAST_DDL_TIME, 'YYYY-MM-DD HH24:MI:SS') AS LAST_DDL_TIME
  FROM SYS.USER_OBJECTS 
 WHERE OBJECT_TYPE = UPPER('PROCEDURE')
 ORDER BY OBJECT_NAME ASC
;
/* 패키지 내부 프로시저 조회 */
SELECT *
  FROM ALL_PROCEDURES
 WHERE OBJECT_NAME = '[패키지명]'
;
/* 프로시저 조회 */
SELECT *
  FROM ALL_PROCEDURES
 WHERE OBJECT_TYPE IN ('PACKAGE', 'PROCEDURE', 'FUNCTION', 'TRIGGER')
;
5. Procedure, Function 목록
SELECT *
  FROM USER_SOURCE
 WHERE TYPE = 'FUNCTION'
   AND NAME = '[함수명]'
SELECT *
  FROM USER_SOURCE
 WHERE TYPE = 'PROCEDURE'
   AND NAME = '[프로시저명]'
6. Procedure, Function 내용 찾기
SELECT T1.OBJECT_ID
     , T1.OBJECT_NAME
     , T1.OBJECT_TYPE
     , T2.TEXT
  FROM USER_OBJECTS T1   /* DB에 존재하는 모든 오브젝트의 목록 정보가 있음(TABLE, VIEW, PROCEDURE, FUNCTION, ..) */
     , USER_SOURCE  T2   /* 프로시저의 내용과 TYPE 정보가 있음 */
 WHERE T1.OBJECT_NAME = T2.NAME
   AND T1.OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION')
   AND T2.TEXT        LIKE ' %PROCEDURE%'                   /* 찾으려는 프로시저 또는 함수 내 문구 입력 */
;
SELECT TEXT 
  FROM SYS.USER_SOURCE 
 WHERE TYPE = 'FUNCTION' 
   AND NAME = '[함수명]';
9. 테이블에 대한 컬럼 정보 및 Comment 정보를 보여줌.
SELECT A.TABLE_NAME                                           -- 테이블 명
     , A.COLUMN_NAME                                          -- 컬럼 명    
     , A.DATA_TYPE || (CASE WHEN A.DATA_TYPE LIKE '%CHAR%' THEN '(' || A.DATA_LENGTH || ')'
              WHEN A.DATA_TYPE = 'NUMBER' AND A.DATA_PRECISION > 0 AND A.DATA_SCALE > 0
                THEN '(' || A.DATA_PRECISION || ',' || A.DATA_SCALE || ')'
              WHEN A.DATA_TYPE = 'NUMBER' AND A.DATA_PRECISION > 0 
                THEN '(' || A.DATA_PRECISION ||')'
        END 
       )AS DATA_TYPE                                          -- 자릿수 표현한 데이터 유형
     , DECODE(A.NULLABLE, 'Y', 'YES', 'NO') ISNULL            -- NULL 여부
     , DECODE(PK.COLUMN_NAME, NULL, '', 'PK') PK             -- PK 여부 
     , DECODE(FK.COLUMN_NAME, NULL, '', 'FK') FK             -- PK 여부 
     , A.DATA_DEFAULT                                         -- 기본 값
     , COLUMN_ID                                              -- 생성 순서
     , COMM.COMMENTS                                          -- COMMENT    
  FROM USER_TAB_COLUMNS  A
     , USER_COL_COMMENTS COMM
     , (
            SELECT AA.TABLE_NAME, AA.COLUMN_NAME 
              FROM USER_CONS_COLUMNS AA
                 , USER_CONSTRAINTS  BB
             WHERE AA.OWNER            = BB.OWNER
               AND AA.CONSTRAINT_NAME  = BB.CONSTRAINT_NAME
               AND BB.CONSTRAINT_TYPE  = 'P'                
       ) PK
     , (
            SELECT AA.TABLE_NAME, AA.COLUMN_NAME 
              FROM USER_CONS_COLUMNS AA
                 , USER_CONSTRAINTS  BB
             WHERE AA.OWNER            = BB.OWNER
               AND AA.CONSTRAINT_NAME  = BB.CONSTRAINT_NAME
               AND BB.CONSTRAINT_TYPE  = 'R'                
       ) FK
 WHERE A.TABLE_NAME   = PK.TABLE_NAME(+)
   AND A.COLUMN_NAME  = PK.COLUMN_NAME(+)
   AND A.TABLE_NAME   = FK.TABLE_NAME(+)
   AND A.COLUMN_NAME  = FK.COLUMN_NAME(+)
   AND A.TABLE_NAME   = COMM.TABLE_NAME(+)
   AND A.COLUMN_NAME  = COMM.COLUMN_NAME(+)
--   AND UPPER(A.OWNER) = UPPER('[ 테이블유저명 ]')
   AND A.TABLE_NAME   = '[ 테이블명 ]'
 ORDER BY COLUMN_ID
https://hermeslog.tistory.com/377
[Oracle] 테이블 정보 조회 + Camel 표기
테이블 정보( 테이블 Comment + 컬럼 Comment + PK ) + Camel 표기 SELECT A.COLUMN_NAME , SUBSTR(LOWER(A.COLUMN_NAME), 1,1) || SUBSTR(REPLACE(INITCAP(A.COLUMN_NAME), '_'), 2) AS INIT_COL_CAP_NAME , B.COMMENTS , CASE WHEN LENGTH(C.INDEX_NAME) > 0 TH
hermeslog.tistory.com
728x90
    
    
  'Database' 카테고리의 다른 글
| [Oracle] 해당 DB의 모든 OBJECT를 볼수 있는 쿼리 (0) | 2010.12.16 | 
|---|---|
| [Oracle] 사용자 생성, 변경, 삭제 (0) | 2010.12.15 | 
| [문서] Oracle 에러 코드 한글 번역 문서 (0) | 2010.11.16 | 
| [게시판] 페이징 쿼리 (MS-SQL, Oracle) (0) | 2010.11.10 | 
| [ERwin] Input file: <파일명>.ER1 with file version: -1 is not readable by Computer Associates ERwin (0) | 2010.11.10 |