格納したデータを引き出すしくみ(続)の例


図7−2 ビュー表”価格情報”の定義
CLEATE VIEW 価格情報 (商品ID,平均価格)
    AS SELECT 商品ID,AVG(単価)
       FROM   発注項目
       GROUP BY 商品ID ;


図7−5 埋め込みSQLの例(ホスト言語はC)
#include 
/*
 * 埋め込みSQL宣言節
 * ここでホスト変数の定義を行う
 */
EXEC SQL BEGIN DECLARE SECTION ;
	char ono[5] ;      /* 発注番号 */
	char clerk[40] ;   /* 扱い者 */
EXEC SQL END DECLARE SECTION ;
/*
 * SQL Communication Area
 * ファイルインクルード
 */
EXEC SQL INCLUDE SQLCA ;

main(){
	/* カーソルの宣言 */
	EXEC SQL DECLARE CSR CURSOR FOR
	     SELECT  発注番号,扱い者
	     FROM    発注書 ;
	/* カーソルのオープン */
	EXEC SQL OPEN CSR;
	/* 1行ずつデータを取りだしプリントアウト */
	while(1){
		EXEC SQL FETCH CSR INTO  :ono, :clerk ;
 		if(SQLCODE == 0)
		  printf("%s %s\n", ono, clerk) ;
		else {
		  if (SQLCODE == 100)
			printf("End of Data\n") ;
		  break ;
		}
	}
	/* カーソルのクローズ */
	EXEC SQL CLOSE CSR ;
}