日期:2014-05-17  浏览次数:20745 次

查询一个表的列数
我现在需要查询一个数据表的列数,请问一个SQL语句怎么实现啊?
------解决方案--------------------
SELECT COUNT(*) FROM user_tab_columns
WHERE table_name= ?;
------解决方案--------------------
select count(column_id)
from user_tab_columns
where table_name='YOUR_TABLE_NAME';

-- 注意表名的大小写格式!(默认表名应该是大写)

------解决方案--------------------

--1.通过查看表可以知道列数
SQL> desc emp;
Name     Type         Nullable Default Comments 
-------- ------------ -------- ------- -------- 
EMPNO    NUMBER(4)                              
ENAME    VARCHAR2(10) Y                         
JOB      VARCHAR2(9)  Y                         
MGR      NUMBER(4)    Y                         
HIREDATE DATE         Y                         
SAL      NUMBER(7,2)  Y                         
COMM     NUMBER(7,2)  Y                         
DEPTNO   NUMBER(2)    Y                         

--2.通过计算user_tab_columns视图中的column_id的个数
SQL> select count(column_id)
  2  from user_tab_columns
  3  where table_name='EMP';

COUNT(COLUMN_ID)
----------------
               8
--我们来看看user_tab_columns视图的结构
SQL> desc user_tab_columns;
Name                 Type          Nullable Default Comments                                                             
-------------------- ------------- -------- ------- -------------------------------- 
TABLE_NAME           VARCHAR2(30)                   Table, view or cluster name   &n