如果我知道一个表的每一列的名称,但不知道表的名称,我该如何找到我需要的表的名称?
根据 @Roobie 的解决方案,下面的代码将在您有权限访问的所有模式中搜索,以防表格不在您自己的模式中。还添加了不区分大小写的匹配。
SELECT owner, table_name
FROM all_tab_columns
WHERE UPPER(column_name) = UPPER('MYCOL');
CREATE TABLE stupid_table ( "MixedCaseColumn" INTEGER PRIMARY KEY );
将 UPPER
应用于两侧几乎可以解决 100% 的问题。想开怀大笑一下,请看我刚刚制作的这个 fiddle: http://sqlfiddle.com/#!4/2840e/1/0 - Joshua Huber尝试这个(已知一列):
CREATE TABLE mytab(mycol VARCHAR2(30 CHAR));
SELECT table_name FROM user_tab_columns WHERE column_name='MYCOL';
注意MYCOL
在column_name='MYCOL'
中是大写;
干杯!
select * from all_updatable_columns where column_name like 'reqd col name';