我正在用C#创建一个ASP.NET MVC Web应用程序。我创建了一个基于Firebird数据库的模型类。我遇到的麻烦是,当我在表中插入新记录时,未调用该表的生成器-因此,我在该列中得到一个NULL
值。
如何在每个表/每个字段的基础上指定哪些列是IDENTITY
列,并将它们链接到Firebird中的它们各自的GENERATORS?
答案 0 :(得分:2)
1。创建生成器
arr.inject(Articles){|articles, args| articles.send(*args)}
2。创建触发器
CREATE SEQUENCE GEN_TESTTABLE_ID
3。创建过程
CREATE TRIGGER testtable_bi FOR testtable
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.id IS NULL) THEN
NEW.id = GEN_ID(gen_testtable_id,1);
END
在Firebird 3中,您可以使用身份主键
CREATE PROCEDURE sp_gen_testtable_id
RETURNS (id INTEGER)
AS
BEGIN
id = GEN_ID(gen_testtable_id, 1);
SUSPEND;
END