Symfoware Server RDB運用ガイド(データベース定義編) - FUJITSU - |
目次
索引
![]() ![]() |
第2章 データベースの作成 |
データベースの創成は、実表へのデータ投入で完了します。データの投入は、格納先のデータベーススペースが作成され、実表やインデックスなどの論理構造定義、および格納構造定義が完了してから行います。
データベースの創成方法として、以下の2つがあります。
外部ファイルを使用したrdbsloaderコマンドによる方法(DSI初期化不要)
創成用のアプリケーションを作成してINSERT文によって行う方法(DSI初期化必要)
rdbsloaderコマンドおよびアプリケーションのINSERT文によるデータベースの創成の概要図を以下に示します。
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文によってデータベースを創成するアプリケーションの例を以下に示します。
#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ビギナーズガイド”を参照してください。
目次
索引
![]() ![]() |