我如何获取特定表其列名称? 我试过这个:
SELECT column_name
FROM USER_TAB_COLUMNS
WHERE table_name = 'x' ;
但它无效。
答案 0 :(得分:1)
默认情况下,Oracle中的字符串比较区分大小写,默认情况下表和列名称大写,因此您需要确保要搜索的表名的大小写与它在数据库中存储的方式相匹配,所以除非你的表是用大小写或全小写命名的,否则请确保你的字符串都是大写字母。
SELECT column_name from USER_TAB_COLUMNS
WHERE table_name = 'X'; -- not 'x'
此外,如果您不拥有该表,则需要使用ALL_TAB_COLUMNS或DBA_TAB_COLUMNS而不是USER_TAB_COLUMNS,因为USER_TAB_COLUMNS仅列出当前架构所拥有的表的详细信息。
答案 1 :(得分:1)
您可以只描述表格:
desc x;
答案 2 :(得分:-2)
尝试查询USER_TAB_COLUMNS视图
SELECT column_name
FROM USER_TAB_COLUMNS
WHERE table_name = 'TABLE_NAME'