Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

Firebird 3.0 SQL新機能: (3) DDL

$
0
0
本エントリはFirebird Advent Calendar 2014の12日目です。林さんによる(11日目はこちら)でまだまだ参加者募集中。

DDL(Data Definition Language)では以下の機能追加が予定されています。

(1) カラムのNUUL可・不可の管理
(2) ALTER DATABASE ... SET DEFAULT CHARACTER SET
(3) IDENTITY カラム
(4) RECREATE SEQUENCE, RECREATE GENERATOR
(5) DDLトリガー
(6) Database LINGER

(1) はFirebird/InterBase界隈の人以外には伝わりにくいと思うのですが、実はFirebirdではカラムやドメインのNULL, NOT NULLを変更するためにはALTER TABLE ... {NULL|NOT NULL}のSQLはサポートされておらず、従来はGUIツールや以下のブログエントリにあるようにシステムテーブルの該当部分を探し当て、直接変更( ゚д゚) するということがおこなわれてました。

Making NOT NULL columns nullable again in Firebird (Not So Yellow Stickies)


ここにきてやっとのサポートです。。。

(5) DDLトリガーはもともとOracleとMS SQLサーバでサポートされていたCREATE/ALTER/DROPのタイミングで実行されるトリガーです。PostgreSQLでは9.3からイベントトリガーとしてサポートされています。

Postgres 9.3 feature highlight: event triggers
第37章イベントトリガ

Firebirdは他のDBに先駆けて(というかFirebirdしかサポートしてない?)トランザクションをイベントとするトリガーを実装していましたが、PostgreSQL 9.3と同様に、Oracle/MS SQL Serverサポートの機能をサポートする、ということで相互互換性があがります。

ちなみにMySQL/IBM DB2には類似の機能サポートはないようです。。。。

(6)のDatabase LINGERについては、以下のエントリにて説明済みです。

Firebirdリリース戦略と2015/2016年のロードマップ(1) 3.0 Alpha/Betaの新機能概略

また(6)のIDENTITYカラムについて以下のエントリに実行例があります。

Firebird 3.0 Beta 1 リリース: Identity列を試す

JUGEMテーマ:コンピュータ



PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles