从oracle数据字典中选择一个表

时间:2015-05-18 12:49:43

标签: oracle oracle11g

我是SQL新手,最近安装了Oracle 11g。我在从user_tables选择所有表格时阅读了帖子here。我正在尝试选择一个特定的表格,并且后面的一些建议似乎不起作用。

以下执行正常并返回所有可用的表,包括名为faculty_t的表:

select * from user_tables;
select * from dba_tables;
select * from all_tables;
desc faculty_t;

但是当我执行以下操作时出现错误:

select * from user_tables where table_name = FACULTY_T;

第一组陈述确认我有一个名为faculty_t的表。但是,尝试从user_tablesall_tablesdba_tables中选择此表似乎不适合我。错误消息的内容如下:

ORA-00904: "FACULTY_T": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 208 Column: 8

有什么想法?谢谢!

1 个答案:

答案 0 :(得分:3)

SQL中的字符串文字包含在'中。所以:

select * from user_tables where table_name = 'FACULTY_T';

当您执行desc faculty_t时,SQL引擎知道该位置需要一个表名(语法需要一个表名)。但是在您的select查询中,sql只是查找碰巧具有字符串数据类型的列的值,因此您需要使用'作为字符串文字。