2011年4月24日

[pgsql-jp: 40747] Re:変数をテーブルを作成する際に利用したい

2011/4/24 yukihito miso <oira3ryu@xxxxx>:
> この変数var_colをCREATE TABLEで利用する方法が思いつきません。
>
> イメージとしては
> CREATE TEMP TABLE tmp_table1 (id integer, name CHAR VARYING(255), " +
> var_col + ", PRIMARY KEY (id)) ON COMMIT DROP;
> のようにできないかということなのですが...

PL/pgSQL の EXECUTE を使ってください。

CREATE FUNCTION create_tmp_table(var_col text) RETURNS VOID AS $$
BEGIN
EXECUTE 'CREATE TEMP TABLE tmp_table1 (id integer, name CHAR VARYING(255), '
|| var_col
|| ', PRIMARY KEY (id)) ON COMMIT DROP';
END;
$$ LANGUAGE plpgsql;

--
Itagaki Takahiro

投稿者 xml-rpc : 2011年4月24日 23:31
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103388
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。