带有关键字别名的Firebird查询

时间:2013-12-13 14:35:10

标签: sql firebird

在我们的应用程序中,我们使用Queries动态填充Dropdownlists,返回两列: 文字和价值。

我们现在移植此功能以使用Firebird数据库中的数据。 使用IBExpert来测试这些查询,我发现无法返回名为“Value”的列 - 可能因为它是一个关键字。

我尝试使用[Value]转义Value,就像在MSSQL中一样,以及“Value”或“Value”。查询将不会运行。 我还尝试使用Value作为列创建视图,但它不会创建视图。

我们可以更改代码以使用不同的列名,但这意味着我们必须更改大量查询。

查询:

SELECT BEZ AS Text, Data2 AS Value FROM SKO120 WHERE Data2 like 'V%'

1 个答案:

答案 0 :(得分:4)

如果引用"Value"不起作用,那么您使用的是方言1数据库(或者您已使用方言1连接)。方言1不支持带引号的标识符,自Firebird存在之前就已被弃用(1999/2000年它仍然是Interbase 6 beta)。

如果这是一个新数据库,则使用方言3数据库重新启动。如果这是现有数据库,那么您真的应该考虑将其迁移到方言3中。请参阅Interbase 6入门手册中的“将数据库迁移到方言3”(可从http://www.firebirdsql.org/en/reference-manuals/获取,它位于页面的末尾)。