MSSQLでは、トリガーをテーブルにロードすると、操作対象のレコード(更新、挿入、削除)の「キャッシュテーブル」にアクセスできることを知っています。
Accessから利用する同様のメカニズムはありますか?そうでない場合、ベーステーブルから結合テーブルに1:1-Mを適用する場合、これをどのように実行しますか?
「非常に便利な」リレーションシップスキーマを使用してみましたが、PKのiセットアップとインデックス付けの「一意の」インデックスが見つからないため、EnforceIntegrityのトリクルダウン削除部分を使用できません。私にはよくあることのように「めったに」見られませんでした、「不確定」の関係ステータス。
設計
Table1(ベーステーブル):
田畑:
- gid
- nm
- (より多くのフィールド)
インデックス:
- gid + nm(一意の識別-gidはオートナンバーではありません)
- gid
表2(テーブルに参加):
田畑:
- gid
- cid
- (より多くのフィールド)
インデックス:
- gid + cid(一意の識別)
- gid
- cid
トリガーのアイデア:
削除(BeforeDeleteトリガー)
- (table1.gidが削除された)場合
Delete * From Table2 Where gid=delete.id
delete
キャッシュテーブルはどこにありますか
- ベーステーブルからgidのエントリがすべてのテーブルで適切に更新/削除されるまで、検証を続行します
編集2012-09-04@12:20 pm
これが私が今持っているデータマクロです。おそらく構文的にずさんですが、オンラインでの測定値からこれまでに推測したことです。このフォーマットを使用するときに知っておくべき、または期待すべきことはありますか?そして、はいdeletegroup
、モジュールに投稿されたglobablメソッドです。
エンドユーザーはランタイムアクセスを使用しますが、このトリガーは、フルバージョンではなくランタイム環境によって何らかの形で妨げられるべきですか?