【发布时间】:2015-03-13 01:39:55
【问题描述】:
我需要知道我的表exchangecondition 的列名,其名称中包含“report”。我尝试使用 USER _TAB_COLUMNS 但这不起作用,因为我通过这个查询得到了 no rows selected:
select * from USER_TAB_COLUMNS;
但是,如果我在使用 USER_TAB_COLUMNS 时可以获得行,我可以使用以下查询:
SELECT column_name FROM USER_TAB_COLUMNS WHERE table_name = 'exchangecondition' and column_name like '%report%'.
有人可以帮帮我吗?
【问题讨论】:
-
你的意思是选择 * 不起作用并且选择 column_name 起作用吗?您的问题不清楚
-
除非您在创建表时使用带引号的标识符,否则您需要以大写形式提供表名和(部分)列名。但是,如果您在该视图中看不到任何内容,那么哪个架构拥有“您的”表?
-
@Shankar 是的,我输入 select * from USER_TAB_COLUMNS;作为查询,我没有得到任何行
-
你是对的@AlexPoole 我使用而不是 USER_TAB_COLUMNS 我使用 all_tab_columns 以及大写的表名和列名,感谢您的回答
标签: sql database oracle oracle11g sqlplus