从tablename中选择variable_of_tablename。*将给出00904. 00000 - “%s:无效标识符”

时间:2015-07-22 19:55:26

标签: sql oracle oracle-sqldeveloper

SELECT sur.* FROM table_name

每当我在SQLDeveloper中运行此代码时,它就会给我错误

ORA-00904:“SUR”:标​​识符无效

  1. 00000 - “%s:无效标识符”
  2. 我不知道如何解决这个问题并且无法在网上找到任何内容。我必须使用这种格式的原因是因为它遵循先前开发人员已经实现的格式,我必须遵守该标准。

    有没有人有这方面的经验?

2 个答案:

答案 0 :(得分:1)

试试这个

SELECT sur.* FROM table_name sur;

您已使用sur alias引用表table_name的所有列,但在使用之前,您需要为table table_name提供一个别名,如sur

但是,以下查询将正常工作,因为您使用的是实际的表名而不是其他别名。

select table_name.* from table_name;

答案 1 :(得分:0)

在这里,您要求列出表“SUR”中的列,但由于“from”子句中不存在此类表,Oracle会引发此错误。

这里有两个选项:

  1. 为from子句中的任何表提供别名(第二个名称) 例如:

    从tablename1 sur,tablename2 foo中选择sur。*,其中sur.col1 = foo.col1

  2. 使用表名本身而不是使用列别名“SUR” 例如:

    从tablename1中选择tablename1。*,tablename2,其中tablename1.col1 = tablename2.col1

  3. 参考:http://www.techonthenet.com/oracle/alias.php