製品 ID を外部キーとして持つ行の postgresql テーブルをフィルタリングしようとしています。製品 ID ごとに、それぞれ 1 つの csv をフォルダー (prod1.csv、prod2.csv など) にエクスポートする必要があります。これを自動化するために以下の関数を作成しようとしましたが、関数を実行すると失敗します。関数を修正したり、より良いアプローチを推奨したりするのを手伝ってくれる人はいますか?
CREATE or replace FUNCTION exportdata()
RETURNS SETOF record AS
$$
DECLARE
rec text;
BEGIN
FOR rec IN
(
Select distinct t.products from trndailyprices as t --Get the list of products in the table
)
LOOP
Copy (
Select * from trndailyprices as t
where t.products = rec ---1st record is product1
order by t.effectivedate)
To 'C:/testQ/' ||rec || '.csv' With CSV;---expected file is product1.csv for 1st record
END LOOP;
END;
$$ LANGUAGE plpgsql;