在Firebird数据库中创建自动增量字段的最简单方法
有没有一种使用Firebird创建自动增量字段的简单方法?我已经安装了FlameRobin管理工具,但是通过该工具创建自动增量字段的过程很复杂.我是否可以通过单击复选框或使用除Flamerobin之外的其他工具来创建此类身份字段?
解决方法Firebird 2.5及更早版本没有自动增量字段.您需要使用序列(也称为生成器)和触发器自己创建它们.Sequence是SQL标准术语,generator是历史Firebird术语,它们都被使用. 至create a sequence: CREATE SEQUENCE t1_id_sequence; 要创建触发器以始终在具有主键ID的表T1上生成id: set term !! ; CREATE TRIGGER T1_AUTOINCREMENT FOR T1 ACTIVE BEFORE INSERT POSITION 0 AS BEGIN NEW.ID = next value for t1_id_sequence; END!! set term ; !! 另见:How to create an autoincrement column? Firebird 3使这更容易,因为它引入了标识列.在实践中,它是用于为您生成序列触发器的语法糖. 例如 create table t1 ( id integer generated by default as identity primary key ) Firebird 3仅支持“默认生成”,这意味着用户可以指定自己的id值(这可能会导致重复值错误); “永远生成”将添加Firebird 4. 另请参见Firebird 3 release notes,“标识列类型”部分. Flamerobin还提供工具来为您创建序列触发器.如果您有现有表,则可以按照以下步骤操作: >打开表格属性:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |