ソース (作成した Web サービス API を介してキャプチャされたさまざまなハードコードされたキャンペーンから) の列と、それらに関連付ける必要があるそれぞれのブランドを保持するルックアップ テーブルがあります。これは、ブランドが null であるレコードにブランドを付与できるようにするためです。これにより、マーケティング オートメーション ツールを介して特定のテンプレートで歓迎できるようになります。
最終的にはこの API を非推奨にし、ブランドが必要な API に置き換えますが、それまでの間、すべてのブランド チームに API 呼び出しを変更する時間を与えるまで、一時的な解決策を作成する必要があります。
私はこの関数を書きました:
CREATE OR REPLACE FUNCTION public.brand_lookup(IN i_brand TEXT )
RETURNS SETOF RECORD VOLATILE AS
$$
BEGIN
RETURN QUERY
UPDATE subscriber
SET brand = (SELECT brand FROM brand_translation
WHERE source = subscriber.source);
END;
$$
LANGUAGE plpgsql;
そして、レコードが挿入されたときに関数を起動するトリガー:
CREATE TRIGGER brand_translation
AFTER INSERT ON subscriber
FOR EACH ROW EXECUTE PROCEDURE public.brand_lookup();
しかし、私のトリガーは、「エラー: 関数 public.brand_lookup() が存在しません」(しかし、正常に作成されました) というエラーで返されます。 m 意図して? 私は関数にかなり初心者です (おそらくおわかりのように)。