2009-07-23 38 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