[pgsql-jp: 30691] サンプルプログラムはありませんか?
Toshio Uchiyama
uchiyama @ shonan.homeunix.org
2003年 8月 6日 (水) 07:42:31 JST
お世話になります。内山と申します。
7〜8年前、PostgreSQL を使って、ジャバアプレット
から、ウェブ経由で、Postgres にアクセスするプログラムを
作ってもらっていました。
しかし、今度、自分でC言語で埋め込み型SQLのプログラム
を書いてみることになり、ウェブ上でいろいろ探しています。加えて
/usr/local/pgsql にサンプルプログラムとREADME がないかどうか
も探してみましたが、今ひとつ、実現するめどがたっていません。
やりたいことをアルゴリズム的に書きますと、
1.4カラムからなるtest2テーブルから、2カラムの値を取り出し、フェッチする。
for(fetch loop 1)
select f2, f3 into :bind_variable1, bind_variable2 from test2;
2.8カラムからなるtest1テーブルから、1の条件で全カラムをフェッチする。
for(fetch loop 1){
select f2, f3 into :bind_variable1, bind_variable2 from test2;
for( fetch loop 2)
select f1, 〜, f8 into :bind_varibale3, 〜, bind_variable10 from test1 where
test1.f2 = :bind_variable and test1.f5=:bind_variable2;
〜
}
〜
}
3.test1テーブルからフェッチした値をtest1と同じ構造のtest3テーブルに挿入する。
for(fetch loop1) {
select f2, f3 into :bind_variable1, bind_variable2 from test2;
for( fetch loop2)
select f1, 〜, f8 into :bind_variable3, 〜, bind_variable10 from test1 where
test1.f2 = :bind_variable and test1.f5=:bind_variable2;
insert into test3 values ( f1 :bind_variable3, 〜 , f8 :bind_variable10);
}
〜
}
4.test1テーブルから、test2テーブルでフェッチした条件で削除する。
for(fetch loop1) {
select f2, f3 into :bind_variable1, bind_variable2 from test2;
for( fetch loop2)
select f1, 〜, f8 into :bind_variable3, 〜, bind_variable10 from test1 where
test1.f2 = :bind_variable and test1.f5=:bind_variable2;
insert into test3 values ( f1 :bind_variable3, 〜 , f8 :bind_variable10);
}
delete from test1 where test1.f2=:bind_variable1 and test1.f5=:bind_variable2;
}
という感じです。昔、昔、SQLBase というNetware上のデータベースでこのようなことが可能でした。
多分、PostgreSQL でも可能と思われますが、データベースにカーソル接続し、C言語の埋め込み型SQLの
select, insert, delete のテストプログラムを書くことも出来ない状態です(私の情報検索が悪いの
かも知れません)。
ポインタでも良いので、はじめの一歩を踏み出せる情報がありましたら、ご教示のほどよろしく
お願いします。尚、データベース中にデータをインポートするところまでは出来ています。
以上、虫の良い話ですがよろしくお願いします。
----
内山敏郎
uchiyama @ agent.homeunix.org
http://agent.homeunix.org/
pgsql-jp メーリングリストの案内