0
いくつかの変数に基づいてレポートを作成したいと思います。私は希望の期間だけを含む一時テーブルを作成したいと思います。私がしたいことはない私は、私はそれを締結する怖い少し後悔して< <と>>Postgres:一時テーブルの動的作成
DO $$
DECLARE myPeriodFrom INTEGER := 7;
DECLARE myPeriodTo INTEGER := 9;
DECLARE myColumn VARCHAR(255) := 'Period';
BEGIN
DROP TABLE IF EXISTS tmpTable;
CREATE TABLE tmp_table (tmpId INT, tmpDesc varchar(255));
FOR i IN myPeriodFrom..myPeriodTo LOOP
-- Create dynamic column name and fill with data
<< code here >> -- myColumn := (myColumn || CAST(i AS VARCHAR));
ALTER TABLE tmpTable ADD COLUMN <<myColumn>> INT;
INSERT INTO tmpTable (myId, myColumn)
SELECT "Id", "YearAdded" FROM "Item" WHERE "Item"."MonthAdded" = i;
END LOOP;
END $$;
SELECT * FROM tmpTable
なぜ、 'generate_series()'があなたの望むものとおそらく一時テーブルを使用するのですか? –
もちろん、 'generate_series()'はこのトリックをあまり行っていません。列が必要です。これが動作するとき、 'SELECT'内で他の計算が行われなければなりません。しかし、ありがとう。 – Remco