0

「相関名 'Club' が見つかりません」という奇妙なエラーが発生しましたが、テーブル Club は DB にあります。問題は値を挿入した後だと思います:

ALTER TRIGGER "tg_add_club" AFTER INSERT,
UPDATE ON Club
REFERENCING NEW AS item
FOR EACH ROW
WHEN (item.address NOT IN (SELECT name FROM Place))
BEGIN 
 //DECLARE i_id INTEGER;
 INSERT INTO Place(name)
 VALUES (item.address);
 //SELECT @@identity INTO i_id;
 UPDATE Club SET place = (SELECT id FROM Place WHERE name=item.address)
 WHERE Name = item.name; //AND Place.name = item.address;
END

問題は VALUES (item.address) の後であると思いますが、よくわかりません。

それを使ってさまざまなことを試しましたが、まだ何も機能しません。読んでくれてありがとう!

4

1 に答える 1

0

問題は、とSET placeWHERE Name同じである必要があるということでした。そうしないと、エラーが発生します。今すぐ動作するはずです:

UPDATE Club SET Name =(SELECT id FROM Place WHERE name = item.address)WHERE Name = item.name;

新しいアドレスの場合、ランダムIDが作成され、Clubはすべてのアドレスが格納されているテーブルからIDを取得します。

于 2012-03-15T18:26:04.780 に答える