[pgsql-jp: 40747] Re: 変数をテーブルを作成する際に利用したい
Itagaki Takahiro
itagaki.takahiro @ gmail.com
2011年 4月 24日 (日) 23:31:04 JST
2011/4/24 yukihito miso <oira3ryu @ gmail.com>:
> この変数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
pgsql-jp メーリングリストの案内