[pgsql-jp: 31657] Re: table をまとめて作りたい
KOYAMA HIDEKI
hill47goodtree @ ybb.ne.jp
2003年 11月 29日 (土) 21:36:45 JST
返事を下さった皆さんどうもありがとうございます。メールを
数日みていなかったら、その後もいくつかのご教示をいただい
ておりました。そして変数は{ }でくくるとのご指示にしたが
って、全部の$iに{ }を付けましたところ、sequence、tableと
も全部作ることができました。結局PHPの規則を守っていなか
っただけのようです。ありがとうございました。そして私のよ
うな初心者の質問に皆さんが議論して下さって、ちょっぴり嬉
しかったです。以下が動いたスクリプトです。(ループで毎回
データベースを開いて閉じていますが、ループの最初で開いて
最後に閉じるでも当然大丈夫だと思います。)
<?php
// テーブルを作る(test1)(2003年12月)
$dbname = test1;
exec('su - postgres');
exec('psql $dbname');
for ($i = 1; $i < 32; $i++) {
$conn = pg_connect("dbname=$dbname");
$sql1 = "CREATE SEQUENCE s_2003_12_{$i}_ID START 1;";
pg_query($conn, $sql1);
$sql2 = "GRANT ALL ON s_2003_12_{$i}_ID TO nobody;";
pg_query($conn, $sql2);
$sql3 = "CREATE TABLE s_2003_12_{$i} (id INTEGER
PRIMARY KEY
DEFAULT nextval('s_2003_12_{$i}_ID'),
regdate TIMESTAMP(0) DEFAULT
CURRENT_TIMESTAMP,
ex_date date,
num integer,
nam text,
syozoku text,
speed text,
kennsa text
);";
pg_query($conn, $sql3);
$sql4 = "GRANT ALL ON s_2003_12_{$i} TO nobody;";
pg_query($conn, $sql4);
pg_close($conn);
}
print "<a
href='kennsa.php'>1ヵ月分テーブル完成</a>";
?>
pgsql-jp メーリングリストの案内