2009-07-23 66 views
1

我需要在傳統的oracle數據庫中引用一個名爲limit的列,並且還使用SQLite內存數據庫進行單元測試。 我已閱讀在映射文件中使用反引號來完成此操作; limit它在SQLite中正常工作,但解決了在查詢中的oracle和barfs中的「限制」。NHibernate中的保留字

此功能是否爲oracle正確實施,或者我錯過了什麼?

乾杯,

羅布

UPDATE

似乎列並沒有與它周圍的報價創建的,但NHibernate的將它識別爲保留,並提出報價圍着它/

回答

2

在Oracle中,您使用雙引號引用名稱爲保留字的對象:

SQL> create table a (number number); 

create table a (number number) 
       ^
ORA-00904: : invalid identifier 

「NUMBER」是保留字。但是,您可以:

SQL> create table a ("number" number); 

Table created 

SQL> select "number" from a; 

    number 
---------- 
+0

感謝您的答覆,那它到底是如何在查詢解析: 選擇付款「限制」從支付 limit7_8_0_會拋出ORA-00904:「限制」:無效標識符:/ – theGecko 2009-07-23 10:28:20