[Firebird-jp-general] トリガにCHECK制約が付いている

Back to archive index

devel devel****@nato*****
2017年 1月 26日 (木) 09:57:37 JST


お世話になります。

1.X系で作成したデータベースから
DDLを抽出し確認したところ以下のようなCHECK制約が付いた
トリガが存在しました。

CREATE TRIGGER CHECK_33 FOR A_TABLE
ACTIVE BEFORE INSERT POSITION 0
CHECK(A_FIELD IN (0,1,2))

別のB_TABLE(2.5系)にこのトリガを反映させたく投入しましたが
以下のエラーとなってしまいます。
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 3, column 1
-CHECK

果たしてどうやってこのCREATE TRIGGERが生成されたのか
ご教示頂きたく投稿しました。

トリガ名(CHECK_33)から想像してもCREATE TABLEやALTER TABLEなどの
CHECK制約から自動的に定義されたトリガと予測しております。
しかし、2.5系にて以下のようにALTER TABLEにCHECK制約を付けても
上記トリガは自動生成させませんでした。
ALTER TABLE B_TABLE ADD CHECK(A_FIELD IN (0,1,2))
なお、上記CHECK制約が付いたトリガは、このALTER TABLEの
CHECK制約にて同様の動作を期待できると思っておりますが、
間違いないでしょうか。

よろしくお願い致します。

--




Firebird-jp-general メーリングリストの案内
Back to archive index