戻る

テーブル COUNTERTAB ORDERTAB FAMILY GENUS SPECIES 作成スクリプト

0001: #! /bin/bash
0002: #-----------------------------------------------------------#
0003: # CreateTableSPECIES.sh
0004: # =====================
0005: # TABLE 作成
0006: #    COUNTERTAB
0007: #    ORDERTAB
0008: #    FAMILY
0009: #    GENUS
0010: #    SPECIES
0011: #
0012: # CreateTableSPECIES.sh { <option> }
0013: # <option> : -d               Procdure  を削除する
0014: #            -r               Procedure を再作成する
0015: #                             既定値は新規作成
0016: #            encode=UTF8      CHARACTER SET を UTF8 にする
0017: #                             既定値は EUCJ_0208
0018: #            dbpath=<path>    DataBase の PATH
0019: #                             既定値は /DB/birds/birds.fdb
0020: #            nounique         SEQNO 以外は UNIQUE 制約を付けない
0021: #
0022: # $Id: CreateTableSPECIES.sh,v 1.10  ##########  $
0023: # ------------------------------------------------------------ #
0024: encode="EUCJ_0208"
0025: dbpath="localhost:/DB/birds/birds.fdb"
0026: unique="UNIQUE"
0027: while [ "${1}" != "" ]; do
0028:   if [ "${1:0:1}" == "-" ]; then
0029:     param=${1}
0030:   else
0031:     if [ "${1:0:7}" == "encode=" ]; then
0032:       encode=${1:7}
0033:     fi
0034:     if [ "${1:0:7}" == "dbpath=" ]; then
0035:       dbpath=${1:7}
0036:     fi
0037:     if [ "${1}" == "nounique" ]; then
0038:       unique=""
0039:     fi
0040:   fi
0041:   shift
0042: done
0043: 
0044: while [ "${1}" != "" ]; do
0045:   if [ "${1:0:1}" == "-" ]; then
0046:     param=${1}
0047:   else
0048:     encode=${1}
0049:   fi
0050:   shift
0051: done
0052: 
0053: if [ "${param}" == "-d" ] || [ "${param}" == "-r" ]; then
0054:   echo '**** DROP TABLE ****'
0055:   isql << EOF
0056: CONNECT "${dbpath}" USER "SYSDBA" PASSWORD "********";
0057: DROP TABLE COUNTERTAB;
0058: DROP TABLE ORDERTAB;
0059: DROP TABLE FAMILY;
0060: DROP TABLE GENUS;
0061: DROP TABLE SPECIES;
0062: DROP TABLE ACCLOG;
0063: DROP TABLE REMOTEHOST;
0064: DROP TABLE NLIST;
0065: COMMIT;
0066: QUIT;
0067: EOF
0068:   [ "${param}" == "-d" ] && exit
0069: fi
0070: 
0071: echo '**** CREATE TABLE ****'
0072: isql << EOF
0073: SET NAMES ${encode};
0074: CONNECT $dbpath USER SYSDBA PASSWORD ********;
0075: /*******************************************/
0076: /* SEQNO 採番用 カウンター                 */
0077: /*******************************************/
0078: CREATE TABLE COUNTERTAB(
0079:     TABLENAME NCHAR(12) NOT NULL UNIQUE,    /* テーブル名 ISO8859 */
0080:     COUNTMAX  INTEGER                       /* カウンター INTEGER */
0081: );
0082: INSERT INTO COUNTERTAB(TABLENAME, COUNTMAX) VALUES('ORDERTAB', 0);
0083: INSERT INTO COUNTERTAB(TABLENAME, COUNTMAX) VALUES('FAMILY',   0);
0084: INSERT INTO COUNTERTAB(TABLENAME, COUNTMAX) VALUES('GENUS',    0);
0085: INSERT INTO COUNTERTAB(TABLENAME, COUNTMAX) VALUES('SPECIES',  0);
0086: INSERT INTO COUNTERTAB(TABLENAME, COUNTMAX) VALUES('ACCLOG',  0);
0087: GRANT ALL ON COUNTERTAB TO PUBLIC;
0088: COMMIT;
0089: 
0090: /*******************************************/
0091: /* 目名テーブル                            */
0092: /*******************************************/
0093: CREATE TABLE ORDERTAB(
0094:     SEQNO     INTEGER           UNIQUE,                 /* 連番号   INTEGER */
0095:     ORDERNAME NCHAR VARYING(24) NOT NULL ${unique},     /* 目名     ISO8859 */
0096:     ORDERJPN  CHAR  VARYING(12) NOT NULL                /* 目の和名 JIS0208 */
0097: );
0098: GRANT ALL ON ORDERTAB TO PUBLIC;
0099: COMMIT;
0100: 
0101: /*******************************************/
0102: /* 科名テーブル                            */
0103: /*******************************************/
0104: CREATE TABLE FAMILY(
0105:     SEQNO      INTEGER           UNIQUE,                /* 連番号   INTEGER */
0106:     ORDERNAME  NCHAR VARYING(24) NOT NULL,              /* 目名     ISO8859 */
0107:     FAMILYNAME NCHAR VARYING(24) NOT NULL ${unique},    /* 科名     ISO8859 */
0108:     FAMILYJPN  CHAR  VARYING(20) NOT NULL               /* 科の和名 JIS0208 */
0109: );
0110: GRANT ALL ON FAMILY TO PUBLIC;
0111: COMMIT;
0112: 
0113: /*******************************************/
0114: /* 属名テーブル                            */
0115: /*******************************************/
0116: CREATE TABLE GENUS(
0117:     SEQNO      INTEGER           UNIQUE,                /* 連番号   INTEGER */
0118:     FAMILYNAME NCHAR VARYING(24) NOT NULL,              /* 科名     ISO8859 */
0119:     GENUSNAME  NCHAR VARYING(24) NOT NULL ${unique},    /* 属名     ISO8859 */
0120:     GENUSJPN   CHAR  VARYING(12)                        /* 属の和名 ISO8859 */
0121: );
0122: GRANT ALL ON GENUS TO PUBLIC;
0123: COMMIT;
0124: 
0125: /*******************************************/
0126: /* 種名テーブル                            */
0127: /*******************************************/
0128: CREATE TABLE SPECIES(
0129:     SEQNO         INTEGER           UNIQUE,             /* 連番号   INTEGER */
0130:     GENUSNAME     NCHAR VARYING(24) NOT NULL,           /* 属名     ISO8859 */
0131:     SPECIESNAME   NCHAR VARYING(40) NOT NULL ${unique}, /* 種名     ISO8859 */
0132:     SPECIESJPN    CHAR  VARYING(24),                    /* 種の和名 JIS0802 */
0133:     SPECIESENG    NCHAR VARYING(40),                    /* 種の英名 ISO8859 */
0134:     SPECIESENGCAP NCHAR VARYING(40)               /* 種の英名(CAPS) ISO8859 */
0135: );
0136: GRANT ALL ON SPECIES TO PUBLIC;
0137: COMMIT;
0138: 
0139: /*******************************************/
0140: /* ACCLOGテーブル                          */
0141: /*******************************************/
0142: CREATE TABLE ACCLOG(
0143:     SEQNO         INTEGER            UNIQUE,    /* 連番号           INTEGER */
0144:     DATETIME      TIMESTAMP          NOT NULL,  /* 日付時刻        DATETIME */
0145:     PID           INTEGER            NOT NULL,  /* プロセス ID      INTEGER */
0146:     IPADDR        NCHAR(15),                    /* 問合元 IP-ADDR   ISO8859 */
0147:     ELAPSED       DOUBLE PRECISION,             /* 実行時間          DOUBLE */
0148:     SELCOUNT      INTEGER,                      /* 抽出数           INTEGER */
0149:     QUERY         CHAR  VARYING(128),           /* 問合せパラメータ JIS0802 */
0150:     SQLSTR        CHAR  VARYING(256)            /* SQL 文字列       JIS0802 */
0151: );
0152: GRANT ALL ON ACCLOG TO PUBLIC;
0153: COMMIT;
0154: 
0155: /*******************************************/
0156: /* REMOTEHOSTテーブル                      */
0157: /*******************************************/
0158: CREATE TABLE REMOTEHOST(
0159:     DATETIME      TIMESTAMP          NOT NULL,   /* 日付時刻       DATETIME */
0160:     IPADDR        NCHAR(15) NOT NULL UNIQUE,     /* 問合元 IP-ADDR  ISO8859 */
0161:     HOSTNAME      NCHAR VARYING(100)             /* 問合元 ホスト名 ISO8859 */
0162: );
0163: GRANT ALL ON REMOTEHOST TO PUBLIC;
0164: COMMIT;
0165: 
0166: /*******************************************/
0167: /* NLISTテーブル                           */
0168: /*******************************************/
0169: CREATE TABLE NLIST(
0170:     NDATE         DATE               NOT NULL,   /* 日付               DATE */
0171:     SEQNO         INTEGER,                       /* */
0172:     SPECIESJPN    CHAR  VARYING(24)                     /* 種の和名 JIS0802 */
0173: );
0174: GRANT ALL ON NLIST TO PUBLIC;
0175: COMMIT;
0176: 
0177: QUIT;
0178: EOF
0179: 
0180: exit

この HTML を検査する。( XHTML 1.0 Strict で書かれています )
Another HTML Lint Gateway ( Mirrored by htmllint.oosato.org )