根据语句SELECT
的Oracle文档,应该可以使用不带或带有关键字AS
的别名来对表名进行别名。但是,使用关键字AS
的别名表会导致错误:
ORA-00933:SQL命令未正确结束
例如,以下语句因上述错误而失败:
SELECT COUNT(*) FROM MY_TABLE AS A;
删除关键字AS
后,它会按预期执行。
有人可以对此发表评论。有没有办法让AS
应用于表别名?
P.S。我正在使用代码生成实用程序,它在运行时将一些Java代码转换为SQL语句。此实用程序强制使用AS
的别名。
答案 0 :(得分:1)
Oracle不接受AS表的别名,我认为没办法让它工作。
你不能用Java做任何事吗?列别名的AS在Oracle中是可选的,因此您可以在生成的字符串中查找所有“AS”并删除它们(从而删除列的别名以及表别名的AS)。这是一个选择吗?