-1

2 つの異なるテーブルに値を挿入し、それらのテーブルの「ID」値と挿入されたデータの値を 3 番目のテーブルに挿入するビューの SQLite DB でトリガーを作成する際に問題があります。だから基本的な考え方は....

CREATE TABLE [TBL1] (ID UNIQUE INT AUTOINCREMENT,VAL1);
CREATE TABLE [TBL2] (ID UNIQUE INT AUTOINCREMENT,VAL2);
CREATE TABLE [TBL3] (ID1 INT,ID2 INT,VAL3);
CREATE VIEW [v_TBL3] AS 
  SELECT (TBL1.VAL1,TBL2.VAL2,TBL3.VAL3) 
  FROM TBL3 
  INNER JOIN TBL1 ON TBL3.ID1 = TBL1.ID
  INNER JOIN TBL2 ON TBL3.ID2 = TBL2.ID;

========== heres the problem ==========
CREATE TRIGGER [t_TBL3_INSERT] INSTEAD OF INSERT ON v_TBL3
  BEGIN
    INSERT OR IGNORE INTO [TBL1] (VAL1) VALUES NEW.VAL1;
    INSERT OR IGNORE INTO [TBL2] (VAL2) VALUES NEW.VAL2;

    INSERT INTO [TBL3] (ID1,ID2,v_TBL3.VAL3) 
      SELECT (TBL1.ID,TBL2.ID,VAL3)
      FROM TBL1,TBL2,v_TBL3
      WHERE TBL1.VAL1 = v_TBL3.VAL1 AND TBL2.VAL2 = v_TBL3.VAL2;
  END;

私はネット上を見回しましたが、私がそこに着くために必要なものがまったく見つかりません。誰かが私がそこに着くのを手伝ってくれますか?

4

1 に答える 1