1

OpenEdge テーブルに追加された最新の行を自動的に知る方法はありますか? 私はクライアントと協力してデータベースにアクセスしていますが、データの ID やタイムスタンプを保存していません。

願わくば、OpenEdge がなんらかの方法でこれをすぐに実行できるかどうか疑問に思っていました。(私はそれが疑わしいですが、チェックするのに害はありません)

編集:私の目標

これからの私の目標は、特定のテーブルの新しいデータ、つまりデルタのみをインポートできるようにすることです。どの行が新しいかがわからないため、何が追加されたのか見当がつかないため、すべてをインポートする必要があります。

4

2 に答える 2

1

データベース トリガーを使用して、このニーズを満たすことができます。そのためには、トリガー プロシージャを記述して展開できる必要があります。また、4GL エンジンと SQL-92 エンジンは互いのトリガーを認識しないことに注意する必要があります。そのため、SQL を介して更新が可能な場合、4GL トリガーはそれらの更新を認識しません。およびその逆。(SQL を使用しない場合、これは重要ではありません。)

WRITE トリガーを使用して、データへの挿入と更新の両方をキャッチすることをお勧めします。削除を気にしますか?

シンプルな 4gl WRITE トリガー:

TRIGGER PROCEDURE FOR WRITE OF Customer. /* OLD BUFFER oldCustomer. */  /* OLD BUFFER is optional and not needed in this use case ... */

  output to "customer.dat" append.

  export customer.

  output close.

  return.

end.
于 2014-09-03T06:15:13.557 に答える