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制約にて同様の動作を期待できると思っておりますが、 間違いないでしょうか。 よろしくお願い致します。 --