[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 メーリングリストの案内