oracle的describe,如何在不使用DESCRIBE命令的情况下在Oracle中描述表?

您正在寻找

USER_TAB_COLUMNS – 查询在 – 或

ALL_TAB_COLUMNS中执行的模式中的所有列及其描述与用户有权查看的所有表格相同。

典型的查询可能是:

select *

from user_tab_columns

where table_name = 'MY_TABLE'

order by column_id

column_id是表中列的“顺序”。

你应该确保’MY_TABLE’被大写,除非你已经添加了表壳(一个坏主意),在这种情况下你需要使用像“MyTable”这样的东西。

具体的desc相当于我从ss64那里偷走了一个很好的Oracle资源:

select column_name as "Name"

, nullable as "Null?"

, concat(concat(concat(data_type,'('),data_length),')') as "Type"

from user_tab_columns

where table_name = 'MY_TABLE';

您可以通过选择*从字典找到所有这种视图,这是data dictionary的顶级或通过查看documentation。

还有DBA_TAB_COLUMNS,与ALL_TAB_COLUMNS相同,但对于数据库中的每个表。这假设您有权查看它和表。如果您无法访问此表,则需要让DBA授予您SELECT ANY DICTIONARY权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值