Firebird3.0で Identity Columnsが実装される
ルーマニアのMarius Popaが運営しているFirebird Newsから転載です。Firebird3.0で、Identity Columnsがサポートされるということですが、Identity Colomunは内部でシーケンスと接続していて、INSERT時に自動的にインクリメントされるという機能です。つまり、MySQLだとAUTO_INCREMENTです。PostgreSQLだと、SERIALですね。
SQL:2008標準では、「CREATE TABLE tablename ( tablename_id INTEGER GENERATED BY DEFAULT AS IDENTITY ...) 」となっているので、Firebirdの実装は、SQL:2008に沿った形で進められているようです。DB2は完璧に標準通りで、MSSQLがちょっと変形といった感じですね。
各DB間のSQLの相違は、ココがとても詳しいのでぜひご覧下さい
Comparison of different SQL implementations
--- 以下引用 ----
"Firebird support for Identity Columns in 3.0"
Posted by mariuz on 15 Jan 2010 8:25 am. Filed under General news.
An identity column is a column associated with an internal sequence generator and has it value automatically set when omitted in an INSERT statement.
Example:
create table objects (
id integer generated by default as identity primary key,
name varchar(15)
);
insert into objects (name) values (‘Table’);
insert into objects (name) values (‘Book’);
insert into objects (id, name) values (10, ‘Computer’);
select * from objects;
ID NAME
============ ===============
1 Table
2 Book
10 Computer
2010年01月16日 00:22 | Firebird Square | tomneko
コメント
コメントはまだありません