firebird,使用查询窗口插入记录

时间:2013-06-25 18:38:36

标签: database firebird

我有数据库表AllowedFields,其中包含以下列:

ID int
Name Varchar(50)
FieldRecord Decimal(7,2)

我正在尝试使用以下查询插入演示记录:

set term ^ ;
EXECUTE BLOCK AS BEGIN
INSERT INTO AllowedFields(Name, FieldRecord) VALUES ("A", 0.00);
INSERT INTO AllowedFields(Name, FieldRecord) VALUES ("E", 13.00);
END^

但我收到此错误消息:

Engine Code    : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -206
Column unknown
A
At line 3, column 37

很明显,firebird将此A值视为列值?

如何更改此脚本以插入记录。感谢。

1 个答案:

答案 0 :(得分:1)

SQL标准定义了双引号来表示标识符(表名,列名,约束名,......)。因此"A"标识名为A的列,而不是单个字符。

字符串文字必须用SQL括在单引号中。因此,您需要使用'A'来表示字符串(字符)文字。

将这些放在一起你需要:

INSERT INTO AllowedFields(Name, FieldRecord) VALUES ('A', 0.00);
INSERT INTO AllowedFields(Name, FieldRecord) VALUES ('E', 13.00);

您还应该知道标准要求引用的名称区分大小写,因此"A""a"不同。

Firebird遵循标准。