programing

열의 개수

starjava 2023. 9. 14. 21:34
반응형

열의 개수

오라클에서 테이블의 열 개수를 어떻게 계산합니까?

SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO'

fo의 열 개수를 알려줘야 합니다.당신은 꽤 많은 정보를 얻을 수 있습니다.USER_TAB_COLUMNS그리고.USER_TABLES(또한 있습니다.ALL_그리고.DBA_변형).

@derobert는 자신이 소유한 테이블의 열을 세려고 하는 한 좋은 대답을 합니다.다른 스키마의 테이블에 있는 열을 계산해야 하는 경우 all_tab_columns 보기를 사용해야 합니다.이 보기의 추가 열 중 하나가 테이블 소유자입니다.동일한 테이블 이름이 여러 스키마에 있는 경우에도 유용합니다.테이블을 all_tab_columns 보기에서 보려면 테이블에 대한 권한이 있어야 합니다.쿼리는 다음과 같습니다.

select count(*) from all_tab_columns where owner='BAR' and table_name='FOO';

소유자 및 테이블 이름 열은 일반적으로 대문자입니다.

Oracle이 INFORMATION_SCHEMA를 지원하는 경우칼럼스, 그거 쓰면 되잖아요.그러나 다른 사람들이 말했듯이 USER_% 뷰를 사용합니다.

완성도를 위해 다음 링크에서는 SQL-92 Standard를 지원하는 시스템에 대해 설명합니다.INFORMATION_SCHEMA를 지원하는 시스템

오라클 테이블의 열 수 및 행 수:

SELECT u.table_name Table_Name, 
       Count(*)     Table_Columns, 
       u.num_rows   Table_Rows 
FROM   user_tab_columns c, 
       user_tables u 
WHERE  u.table_name = c.table_name 
GROUP  BY u.table_name, 
          u.num_rows 

오래된 질문이지만, 최근에 행 수와 함께 이것이 필요했습니다.다음은 두 가지 모두에 대한 쿼리입니다. 행 수에 따라 정렬됩니다.

SELECT t.owner, 
       t.table_name, 
       t.num_rows, 
       Count(*) 
FROM   all_tables t 
       LEFT JOIN all_tab_columns c 
              ON t.table_name = c.table_name 
WHERE  num_rows IS NOT NULL 
GROUP  BY t.owner, 
          t.table_name, 
          t.num_rows 
ORDER  BY t.num_rows DESC; 

언급URL : https://stackoverflow.com/questions/506176/number-of-columns

반응형