Firebird で自動インクリメント列を作成するのに助けが必要です。
ここに私のテーブルがあります
列Seqidを自動インクリメントにしたい
create Table TS_PRODUCT_PRICEHISTORY
(
Seqid int not null,
Remarks varchar(100)
)
発電機を作りました
CREATE GENERATOR tsproductpricehistory_gen_id;
次に、トリガーを作成します
CREATE TRIGGER aitspph_id FOR TS_PRODUCT_PRICEHISTORY
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.SEQID IS NULL) THEN
NEW.SEQID = GEN_ID(tsproductpricehistory_gen_id,1);
END
上記のコードでトリガーを作成しようとすると、このエラーが発生します
エラー: *** IBPP::SQLException *** コンテキスト: ステートメント::Prepare( CREATE TRIGGER aitspph_id FOR TS_PRODUCT_PRICEHISTORY ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.SEQID IS NULL) THEN NEW.SEQID = GEN_ID(tsproductpricehistory_gen_id,1) ) メッセージ: isc_dsql_prepare が失敗しました
SQL メッセージ: -104 無効なトークン
エンジン コード: 335544569 エンジン メッセージ: 動的 SQL エラー SQL エラー コード = -104 コマンドの予期しない終了 - 行 6、列 50
トリガーを作成するコードの何が問題なのかがわかりません。