テーブル 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 )