0

私は2つのテーブルを持っています

お気に入りテーブル

----------------------------------------------------------------------
| FavouritesID | CompanyID | CustomerID | ProfilePhoto | CompanyName |
----------------------------------------------------------------------
|                                                                    |
|                                                                    |
|                                                                    |
----------------------------------------------------------------------

プロファイル テーブル

-------------------------------------------
| CompanyID | CompanyName | ProfilePhoto  |
-------------------------------------------
|      1    | Nike        |http://loca..  |
|      2    | Adidas      |http://loca..  |
|      3    | PaulSmith   |http://loca..  |
-------------------------------------------

CompanyNameINSERTをProfilePhoto使用してお気に入りテーブルに挿入したいCompanyID

行がお気に入りテーブル ex CompanyID=1 に挿入されるCompanyName=NikeProfilePhoto=htpp://local...、お気に入りテーブルに挿入され、プロファイル テーブルから情報が取得されます。

これは私がこれまでに持っているものです:

CREATE TRIGGER `Favourites` BEFORE INSERT ON `Favourites`
 FOR EACH ROW BEGIN
    INSERT INTO Favourites SET ProfilePhoto = (SELECT ProfilePhoto FROM Profile WHERE NEW.CompanyID = CompanyID);
END

私のコードのエラーは何ですか? それは動作しません

4

2 に答える 2

0

UはAFTERINSERTを使用できると思います............。

CREATE OR REPLACE TRIGGER orders_after_insert
AFTER INSERT
   ON orders
   FOR EACH ROW

DECLARE
   v_username varchar2(10);

BEGIN

   -- Find username of person performing the INSERT into the table
   SELECT user INTO v_username
   FROM dual;

   -- Insert record into audit table
   INSERT INTO orders_audit
   ( order_id,
     quantity,
     cost_per_item,
     total_cost,
     username )
   VALUES
   ( :new.order_id,
     :new.quantity,
     :new.cost_per_item,
     :new.total_cost,
     v_username );

END;
于 2013-02-06T05:07:23.810 に答える
0

同じデータを 2 回保存する必要があるのはなぜですか? 私は常に、同じ情報を複数のテーブルに格納しないように教えられてきました。お気に入りのテーブルが必要な場合は、保存しないでください:

| FavouritesID | CompanyID | CustomerID |

次に、プロファイル テーブルの他の情報が必要な場合は、お気に入りテーブルの会社 ID で検索します

于 2013-02-06T05:03:34.957 に答える