2013-05-06 42 views
1

考虑在Django 1.5做出一个Oracle后端下面原始的SQL查询,实际上是工作表走样不是原始的Oracle SQL查询工作中的Django

cursor.execute("SELECT EGW.TF_BSC_CELTCHH.BSC FROM EGW.TF_BSC_CELTCHH WHERE ROWNUM <= 5") 

但是,如果我尝试使用的别名表名字是这样的:

cursor.execute("SELECT TCHH.BSC FROM EGW.TF_BSC_CELTCHH AS TCHH WHERE ROWNUM <= 5") 

我得到以下错误:

ORA-00933: SQL command not properly ended 

为什么表的别名在Oracle中导致这样的麻烦?

回答

3

不要使用AS,只需键入...

cursor.execute("SELECT TCHH.BSC FROM EGW.TF_BSC_CELTCHH TCHH WHERE ROWNUM <= 5") 

这样,它应该工作。

干杯!

+0

感谢它的工作!但为什么AS运营商不被允许?它不是Oracle语法的一部分? – 2013-05-06 20:01:44

+0

@David如果我没有记错,表中别名中的“AS”不是ANSI语法,而是一个Informix扩展(可能更老,但这是我第一次看到它),现在似乎已经采用了我的大多数数据库。不是Oracle :) :) – 2013-05-06 20:19:48

+0

明白了,非常感谢 – 2013-05-06 20:31:41