【发布时间】:2013-11-05 17:42:33
【问题描述】:
我想知道如何在 oracle 中获取列总数、单个列名及其对应的数据类型。例如
SQL := 'SELECT UT.TABLESPACE_NAME, UT.TABLE_NAME, UT.STATUS, UT.NUM_ROWS, UT.LAST_ANALYZED,
(select count(1) from USER_TAB_COLS utc where utc.table_name = UT.TABLE_NAME) column_count
from USER_TABLES ut;'
那么程序应该能够显示以下信息:
总列 = 6 第 1 列:TABLESPACE_NAME 数据类型:varchar2 第 2 列:TABLE_NAME 数据类型:varchar2 第 3 列:状态 数据类型:varchar2 第 4 列:NUM_ROWS 数据类型:数字 第 5 列:LAST_ANALYZED 数据类型:日期 第 6 列:COLUMN_COUNT 数据类型:数字如果我们更改 SQL,那么结果应该相应地更改。
【问题讨论】:
-
到目前为止你研究了什么?通过查询各种元数据表可以找到大部分内容。 SELECT * FROM USER_TABLES 例如。您是要我们为您谷歌吗?
-
你在找
dbms_sql.describe_columns():docs.oracle.com/cd/E11882_01/appdev.112/e25788/…