0

電子部品を含むテーブルがあるデータベースがあります。コンポーネントの種類に応じてビューを作成したい。

私のテーブルを2つのフィールドとしましょう:

  • カテゴリー
  • サブカテゴリー

ここで、テーブルに多数のラジアル Rasistor があるとしましょう。それらはすべて、カテゴリ: 抵抗器、サブカテゴリ: ラジアルを持っています。次のようなクエリを実行したいと思います。

CREATE VIEW `Resistor - Radial` AS SELECT * FROM `components` WHERE `Category`='Resistor' AND `Sub Category`='Radial'

かんたんだよ。ここで、ユーザーが新しいパーツを入力したり、パーツを削除したり、既存のパーツを変更したりするたびに、これらのビューを自動生成したいと考えています。トリガーについて考えましたが、それらについてはあまり知りません。トリガーは良いアプローチでしょうか?

4

1 に答える 1

0

あなたの質問に対する「理想的な」答えは、テーブルに挿入トリガーを設定し、このトリガーにビューを作成させることだと思います。ただし、ユーザーが生成した名前でビューを作成するには、動的 SQL を使用する必要があります。 これは MySQL ではサポートされていません

別の解決策は、テーブルを返すユーザー定義関数です。しかし、それも MySQL の一部ではありません。

それで、あなたが本当にこれをやりたいのなら、私は2つの選択肢を考えることができます. 1 つ目は、すべての挿入をストアド プロシージャ内のテーブルにラップすることです。その後、ストアド プロシージャは動的 SQL を呼び出してビューを作成できます。

もう 1 つは、テーブル内の新しいレコードを検索する毎日 (毎時? 分ごと?) ジョブを実行することです。新しい組み合わせが見つかったら、ビューを作成します。

于 2013-04-21T01:04:18.610 に答える