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