Symfoware Server RDB運用ガイド(データベース定義編) - FUJITSU -
目次 索引 前ページ次ページ

第2章 データベースの作成

2.13 データベースの創成

データベースの創成は、実表へのデータ投入で完了します。データの投入は、格納先のデータベーススペースが作成され、実表やインデックスなどの論理構造定義、および格納構造定義が完了してから行います。

■データベースの創成方

データベースの創成方法として、以下の2つがあります。

rdbsloaderコマンドおよびアプリケーションのINSERT文によるデータベースの創成の概要図を以下に示します。

[図:データベースの創成方法]

◆rdbsloaderコマンドによるデータベース創

rdbsloaderコマンドによってデータベースを創成する例を以下に示します。

rdbsloader -mi -i 在庫管理DB.関東発注表DSI /home/rdb/kantou.data 

rdbsloader -mi -i 在庫管理DB.関東発注表DSI C:\DEFAULT\USERS\KANTOU.DATA

rdbsloaderコマンドは、分割格納が定義された表のDSIを処理するとき、入力ファイル内に分割値範囲外のデータが含まれている場合、該当データを処理対象とせずに処理を続行し、正常終了します。分割範囲外のデータをエラーとし、入力ファイルの作成ミスや指定ミスによるデータ抜けを検出するためには、Eオプションを使用します。

rdbsloaderコマンドに関する詳細は、“コマンドリファレンス”および“RDB運用ガイド”を参照してください。

◆INSERT文によるデータベース創

INSERT文によってデータベースを創成するアプリケーションの例を以下に示します。

#include<stdio.h>

main() {
    EXEC SQL BEGIN DECLARE SECTION;
        char SQLSTATE[6];
        char SQLMSG[256];
        short hcustomer;
        short hprodno;
        long  hprice;
        short horderqty;
    EXEC SQL END DECLARE SECTION;

    char  処理番号;
    for(;;) {
        printf("データ挿入...1  \n");
        printf("挿入終了  ...2  \n");
        scanf("%c",&処理番号);

        switch( 処理番号) {
            case '1':
              printf("取引先の番号を入力してください.\n");
              scanf("%d",&hcustomer);
              printf("取引製品の番号を入力してください.\n");
              scanf("%d",&hprodno);
                        :
              EXEC SQL INSERT INTO STOCKS.発注表(取引先,取引製品,
                                                 仕入価格,発注数量)
                       VALUES(:hcustomer,:hprodno,:hprice,:horderqty);
              continue;
            case'2':
              break;
        }
      break;
    }
    EXEC SQL COMMIT WORK;
                        :
}

INSERT文に関する詳細は、“SQLビギナーズガイド”を参照してください。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007-2008