トリガーを作成する DDL スクリプト (以下のソース) は、2 つのエラーで失敗します。
ステートメントが失敗しました、SQLSTATE = 42000 動的 SQL エラー -SQL エラー コード = -104 -コマンドの予期しない終了 - 行 3、列 44 ファイル C:\CRMDemo\Database\DDL\Trigger_Orders.sql の行 0 の後 ステートメントが失敗しました、SQLSTATE = 42000動的 SQL エラー -SQL エラー コード = -104 -トークンが不明 - 1 行目、1 列目 -end ファイル C:\CRMDemo\Database\DDL\Trigger_Orders.sql の 14 行目
(3 行目、44 列目は閉じ部分のように見えます)。エラー 42000 または -104 に関する情報が見つかりません。トリガーは、存在するジェネレーターからレコード番号を割り当てるように設計されています。このトリガーは、同じスクリプトから Interbase で正しく機能します。考えられる唯一のことは、返される値に対して列サイズ Integer が正しくないということです。しかし、ドキュメントによると、値は切り捨てられる可能性がありますが、期待値 (1) に対しては機能するはずです。
CREATE TRIGGER ORDERS_GENERATE_KEY FOR ORDERS ACTIVE BEFORE INSERT POSITION 95 AS
begin
NEW.ORDER_NR = GEN_ID(NEW_ORDER_NUMBER, 1);
end;
Firebird は ver 2.5.2 で、ダウンロードしたばかりです。Windows 7。データベースは 32 ビットである必要があります。