[SQL] 오라클의 모든 테이블의 목록을 가져옵니다?
SQL오라클의 모든 테이블의 목록을 가져옵니다?
어떻게하면 모든 테이블의 이름을 표시하는 Oracle 데이터베이스를 조회 할 수 있습니까?
해결법
-
==============================
1.
SELECT owner, table_name FROM dba_tables
이것은 당신이 DBA_TABLES 데이터 사전 뷰에 액세스 할 수 있다고 가정한다. 당신이 그 권한을 가지고 있지만 필요하지 않으면 당신은 DBA가 명시 적으로 DBA가 하나 ANY DICTIONARY 권한 또는 SELECT_CATALOG_ROLE 역할 (SELECT있는 쿼리를 허용 할 당신을 부여하는 것으로, 그 테이블에 사용자 권한을 부여하거나 요청할 수 있습니다 데이터 사전 테이블). 물론, 당신은 아마 걱정하지 않는 것이 Oracle 테이블 수가 많은 SYS와 SYSTEM와 같은 특정 스키마를 제외 할 수 있습니다.
당신이 DBA_TABLES에 액세스 할 수없는 경우 또는, 당신은 당신의 계정이 ALL_TABLES보기를 통해에 액세스 할 수 있는지 모든 테이블을 볼 수 있습니다 :
SELECT owner, table_name FROM all_tables
하여 데이터베이스에서 사용할 수있는 테이블 (ALL_TABLES 쇼 당신에게 당신의 사용자에 대한 액세스 권한이 부여 된 것을 테이블 모든 정보)의 부분 집합이 될 수, 비록.
당신 만 테이블에 관심을 경우 소유, 당신은에 액세스 할 수없는 사람, 당신은 USER_TABLES을 사용할 수 있습니다 :
SELECT table_name FROM user_tables
정의에 의해, 당신이다, 주인 - USER_TABLES는 사용자가 소유하는 테이블에 대한 정보를 가지고 있기 때문에, 그것은 OWNER 열이 없습니다.
오라클은 기존 데이터의 개수가 사용될 수를 example--에 대한 views-- TAB, DICT, 탭, CAT를 사전을 가지고 있습니다. 일반적으로, 나는 당신이 절대적으로 그들은 종종 객체의 새로운 유형의 문제가 있으므로 긴 시간에 이러한 전망을 변경되지 않았습니다 오라클 6. 오라클 스크립트를 백 포트 필요가없는 이러한 기존 뷰를 사용하는 것이 좋습니다 않을 것입니다. 보기 모든 필터 그 아웃 _TABLES에서 [| | 모든 사용자가 DBA가] 예를 들어, TAB 및 CAT는 사용자의 휴지통에있는 테이블에 대한 두 공연 정보를 볼. CAT는 또한 당신이 정말로 원하는 것을하기 어렵다 "TABLE"의 TABLE_TYPE와 구체화 된 뷰 로그에 대한 정보를 보여줍니다. DICT 테이블과 동의어를 결합하여 객체를 소유 한 사람을 말하지 않습니다.
-
==============================
2.쿼리 USER_TABLES와 DBA_TABLES 작동하지 않았다. 이 사람은했다 :
쿼리 USER_TABLES와 DBA_TABLES 작동하지 않았다. 이 사람은했다 :
select table_name from all_tables
-
==============================
3.상기 한 공정을가는 테이블은 주어진 열 이름을 포함 확인하도록 사용될 수있다 다른 뷰라고 COLS (ALL_TAB_COLUMNS)가있다.
상기 한 공정을가는 테이블은 주어진 열 이름을 포함 확인하도록 사용될 수있다 다른 뷰라고 COLS (ALL_TAB_COLUMNS)가있다.
예를 들면 :
SELECT table_name, column_name FROM cols WHERE table_name LIKE 'EST%' AND column_name LIKE '%CALLREF%';
EST와 이름에 CALLREF의 어느 곳을 포함하는 열로 시작하는 이름을 가진 모든 테이블을 찾을 수 있습니다.
예를 들어, 당신이에 가입하고 싶은 열 운동을 테이블에 따라 및 열 명명 규칙을 할 때 도움이 될 수 있습니다.
-
==============================
4.당신이 당신의 열이 엉망지고 경우에 당신이보기 좋네요에 대한 몇 가지 매개 변수까지 첫 설정할 수 있습니다 SQLPLUS 사용하는 경우 (당신이 당신의 SQLPLUS 세션을 종료 한 후이 변수가 지속되지해야한다) :
당신이 당신의 열이 엉망지고 경우에 당신이보기 좋네요에 대한 몇 가지 매개 변수까지 첫 설정할 수 있습니다 SQLPLUS 사용하는 경우 (당신이 당신의 SQLPLUS 세션을 종료 한 후이 변수가 지속되지해야한다) :
set colsep '|' set linesize 167 set pagesize 30 set pagesize 1000
당신은 모든 테이블 이름을보고이 같은 것을 사용할 수 있습니다 :
SELECT table_name, owner, tablespace_name FROM all_tables;
@Justin 동굴 언급, 당신은 당신이 소유하는 테이블 만 표시하려면이 사용할 수 있습니다 :
SELECT table_name FROM user_tables;
당신은 또한 같은 것을 실행 시도 할 수 있도록 일부 "테이블"실제로 "뷰"가 될 수 있음을 명심하십시오 :
SELECT view_name FROM all_views;
이 같은 공정 허용 보이는 뭔가를 양보해야합니다 :
-
==============================
5.간단한 쿼리는 현재 사용자의 테이블을 선택합니다 :
간단한 쿼리는 현재 사용자의 테이블을 선택합니다 :
SELECT table_name FROM user_tables;
-
==============================
6.
select object_name from user_objects where object_type='TABLE';
----------------또는------------------
select * from tab;
----------------또는------------------
select table_name from user_tables;
-
==============================
7.데이터 아래는 전망을 사전을보십시오.
데이터 아래는 전망을 사전을보십시오.
tabs dba_tables all_tables user_tables
-
==============================
8.현재 사용자가 소유 한 테이블을 나열 USER_TABLES에서 선택하십시오.
현재 사용자가 소유 한 테이블을 나열 USER_TABLES에서 선택하십시오.
-
==============================
9.그 중 하나, 당신은 선택할 수 있습니다 :
그 중 하나, 당신은 선택할 수 있습니다 :
SELECT DISTINCT OWNER, OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND OWNER='SOME_SCHEMA_NAME'; SELECT DISTINCT OWNER, OBJECT_NAME FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND OWNER='SOME_SCHEMA_NAME';
-
==============================
10.오라클 데이터베이스 쿼리 아래 사용하는 모든 테이블의 이름을 표시합니다
오라클 데이터베이스 쿼리 아래 사용하는 모든 테이블의 이름을 표시합니다
SELECT owner, table_name FROM dba_tables; SELECT owner, table_name FROM all_tables; SELECT table_name FROM user_tables;
같이 더 : http://www.plsqlinformation.com/2016/08/get-list-of-all-tables-in-oracle.html
-
==============================
11.
select * from dba_tables
당신이 로그인있는 사용자가 SYSDBA 권한을 가진 경우에만 모든 사용자의 모든 테이블을 제공합니다.
-
==============================
12.내가 사용하는 것이 포인트 것이라고 답을 찾을 수 없습니다
내가 사용하는 것이 포인트 것이라고 답을 찾을 수 없습니다
DBA_ALL_TABLES (ALL_ALL_TABLES/USER_ALL_TABLES)
잘 나의 버전을 추가하기로 결정했다. 이 뷰는 실제로 더가 아니라 객체 테이블을 반환로 DBA_TABLES 그 (http://docs.oracle.com/cd/E11882_01/server.112/e40402/statviews_1003.htm) 반환합니다.
-
==============================
13.당신은 오라클의 객체에 대한 정보를 얻기 위해 오라클 데이터 사전을 사용할 수 있습니다.
당신은 오라클의 객체에 대한 정보를 얻기 위해 오라클 데이터 사전을 사용할 수 있습니다.
당신은 다른 방법으로 테이블의 목록을 얻을 수 있습니다 :
select * from dba_tables
또는 예를 들어 :
select * from dba_objects where object_type = 'TABLE'
그럼 당신은 테이블 이름을 사용하여 테이블 열을 얻을 수 있습니다 :
select * from dba_tab_columns
그럼 당신은 의존성 (트리거, 뷰 등)의 목록을 얻을 수 있습니다 :
select * from dba_dependencies where referenced_type='TABLE' and referenced_name=:t_name
그런 다음이 개체의 텍스트 소스를 얻을 수 있습니다 :
select * from dba_source
그리고 당신은 USER를 사용하거나 원하는 경우 ALL 대신 DBA의 전망.
-
==============================
14.뷰를 포함 :
뷰를 포함 :
SELECT owner, table_name as table_view FROM dba_tables UNION ALL SELECT owner, view_name as table_view FROM DBA_VIEWS
-
==============================
15.우리는 쿼리 아래에서 열 세부 정보를 포함한 모든 테이블을 얻을 수 있습니다 :
우리는 쿼리 아래에서 열 세부 정보를 포함한 모든 테이블을 얻을 수 있습니다 :
SELECT * FROM user_tab_columns;
-
==============================
16.다음은 사용할 수있는 방법을 옵션 설명 SQL 쿼리의 주석 조각입니다 :
다음은 사용할 수있는 방법을 옵션 설명 SQL 쿼리의 주석 조각입니다 :
-- need to have select catalog role SELECT * FROM dba_tables; -- to see tables of your schema SELECT * FROM user_tables; -- tables inside your schema and tables of other schema which you possess select grants on SELECT * FROM all_tables;
-
==============================
17.다른 답변이 나에게 나만 혼란 여분의 데이터를 준 반면, 다음 쿼리는 필요한 데이터를 나열합니다.
다른 답변이 나에게 나만 혼란 여분의 데이터를 준 반면, 다음 쿼리는 필요한 데이터를 나열합니다.
select table_name from user_tables;
-
==============================
18.(오라클 데이터베이스를위한 무료 명령 줄 인터페이스) SQLcl에서 사용할 수있는 새로운 기능입니다
(오라클 데이터베이스를위한 무료 명령 줄 인터페이스) SQLcl에서 사용할 수있는 새로운 기능입니다
테이블 별칭.
다음은이 기능의 사용 및 추가 측면을 보여주는 몇 가지 예입니다. 첫째, SQL 명령 행 (창에서 sql.exe) 세션에 연결합니다. 어떤 다른 명령 또는 디스플레이 데이터 쿼리를 실행하기 전에이 sqlcl 특정 명령을 입력하는 것이 좋습니다.
SQL> set sqlformat ansiconsole -- resizes the columns to the width of the -- data to save space
SQL> 테이블
TABLES ----------- REGIONS LOCATIONS DEPARTMENTS JOBS EMPLOYEES JOB_HISTORY ..
테이블 별칭이, 당신은 단순히 별명 목록 <별칭> 사용할 수 있습니다를 참조하면된다 알고
SQL> alias list tables tables - tables <schema> - show tables from schema -------------------------------------------------- select table_name "TABLES" from user_tables
이 SQLcl에서 기본적으로 제공으로이 별명을 정의 할 필요가 없습니다. 특정 스키마에서 테이블 목록, 새 사용자 정의 별칭을 사용하여 표시되는 컬럼의 세트와 바인드 인수로 스키마 이름을 전달하려면 사용하여 그렇게 할 수 있습니다
SQL> 별칭 tables_schema = 선택 소유자, TABLE_NAME, ALL_TABLES에서 last_analyzed 어디 소유자 = ownr의;
그 후에 당신은 단순히 인수로 스키마 이름을 통과 할 수있다
SQL> TABLE_SCHEMA의 HR
OWNER TABLE_NAME LAST_ANALYZED HR DUMMY1 18-10-18 HR YOURTAB2 16-11-18 HR YOURTABLE 01-12-18 HR ID_TABLE 05-12-18 HR REGIONS 26-05-18 HR LOCATIONS 26-05-18 HR DEPARTMENTS 26-05-18 HR JOBS 26-05-18 HR EMPLOYEES 12-10-18 .. ..
더 정교한 미리 정의 된 별명은 여러 가지 다른 열을 표시 테이블 2로 알려져있다.
SQL> tables2 Tables ====== TABLE_NAME NUM_ROWS BLOCKS UNFORMATTED_SIZE COMPRESSION INDEX_COUNT CONSTRAINT_COUNT PART_COUNT LAST_ANALYZED AN_IP_TABLE 0 0 0 Disabled 0 0 0 > Month PARTTABLE 0 0 0 1 0 1 > Month TST2 0 0 0 Disabled 0 0 0 > Month TST3 0 0 0 Disabled 0 0 0 > Month MANAGE_EMPLYEE 0 0 0 Disabled 0 0 0 > Month PRODUCT 0 0 0 Disabled 0 0 0 > Month ALL_TAB_X78EHRYFK 0 0 0 Disabled 0 0 0 > Month TBW 0 0 0 Disabled 0 0 0 > Month DEPT 0 0 0 Disabled 0 0 0 > Month
백그라운드에서 실행되는 쿼리 무엇인지 알고, 입력
alias list tables2
이렇게하면 일반적으로 SQL * 플러스에서 사용되는 미리 정의 된 열 정의와 함께 약간 더 복잡한 쿼리를 표시합니다.
제프 스미스는 더 여기에 대한 별칭 설명
-
==============================
19.나는 열 ID의 순서로 정렬 된 스키마의 테이블에 속한 모든 열 이름의 목록을 얻을 찾고 있었다.
나는 열 ID의 순서로 정렬 된 스키마의 테이블에 속한 모든 열 이름의 목록을 얻을 찾고 있었다.
여기에 내가 사용하고있는 쿼리는 다음과 같습니다 -
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = 'schema_owner_username' AND TABLE_NAME='table_name' ORDER BY COLUMN_ID ASC;
-
==============================
20.실제로, 같은 어윈, 두꺼비 데이터 모델러 또는 ERBuilder 같은 데이터 사전의 생성을 할 수있는 도구를 통해 해당 작업을 수행하는 queries.it이 가능 SQL을 통해 테이블의 목록을 가질 수 있습니다. 이러한 도구, 테이블 이름에 추가하여, 당신은 필드, 해당 유형과 같은 개체가됩니다 (트리거, 시퀀스, 도메인,보기 ...)
실제로, 같은 어윈, 두꺼비 데이터 모델러 또는 ERBuilder 같은 데이터 사전의 생성을 할 수있는 도구를 통해 해당 작업을 수행하는 queries.it이 가능 SQL을 통해 테이블의 목록을 가질 수 있습니다. 이러한 도구, 테이블 이름에 추가하여, 당신은 필드, 해당 유형과 같은 개체가됩니다 (트리거, 시퀀스, 도메인,보기 ...)
단계 아래 테이블 정의를 생성하기 위해 다음과 같이하십시오
데이터베이스는 엔티티 관계 다이어그램으로 소프트웨어에 표시됩니다.
-
==============================
21.
select * from all_all_tables
시작 부분에 '모든'이 추가는 추가로 3 열을 제공합니다 :
OBJECT_ID_TYPE TABLE_TYPE_OWNER TABLE_TYPE
from https://stackoverflow.com/questions/205736/get-list-of-all-tables-in-oracle by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL에서 인덱스는 무엇입니까? (0) | 2020.03.14 |
---|---|
[SQL] 어떻게 ATTACH로 열린 SQLite 데이터베이스 파일에 테이블을 나열하려면? (0) | 2020.03.13 |
[SQL] ROWNUM은 매김 쿼리에서 어떻게 작동? (0) | 2020.03.13 |
[SQL] 두 SQL LEFT는 생산 잘못된 결과를 JOINS (0) | 2020.03.13 |
[SQL] SQL Server의 조건부 WHERE 절 (0) | 2020.03.13 |