다음 지시사항에서는 DB2 Universal Database를 사용하고 있는 것으로 가정합니다. RESERVDB 테이블을 작성하고 액세스할 때 다음 사항을 염두에 두십시오.
다음 스크립트는 Airline Reservations 샘플에 대한 데이터베이스를 작성하고 채웁니다.
CREATE DB RESERVDB CONNECT TO RESERVDB BIND '%DB2TEMPDIR%\bnd\@db2cli.lst' blocking all grant public CATALOG SYSTEM ODBC DATA SOURCE RESERVDB CONNECT RESET CONNECT TO RESERVDB DROP TABLE XMLFLIGHTTB CREATE TABLE XMLFLIGHTTB (FLIGHTDATE CHAR(8) NOT NULL, FLIGHTNO CHAR(5) NOT NULL, ECONOMICCLASS INTEGER NOT NULL, FIRSTCLASS INTEGER NOT NULL, TOTALECONOMIC INTEGER NOT NULL, TOTALFIRST INTEGER NOT NULL, ECONOMICPRICE INTEGER NOT NULL, FIRSTPRICE INTEGER NOT NULL, STARTPOINT CHAR(20) NOT NULL, ENDPOINT CHAR(20) NOT NULL, RESERVATIONSEQNO INTEGER NOT NULL, CONSTRAINT FLIGHT_UNIQ UNIQUE(FLIGHTDATE, FLIGHTNO)) INSERT INTO XMLFLIGHTTB VALUES('20030218', 'CA937', 0, 0, 200, 50, 200, 300, 'BEIJING', 'LONDON', 0) INSERT INTO XMLFLIGHTTB VALUES('20030525', 'BA039', 0, 0, 180, 40, 220, 320, 'LONDON', 'BEIJING', 0) INSERT INTO XMLFLIGHTTB VALUES('20030525', 'CA937', 0, 0, 200, 50, 200, 300, 'BEIJING', 'LONDON', 0) INSERT INTO XMLFLIGHTTB VALUES('20030219', 'BA039', 0, 0, 180, 40, 220, 320, 'LONDON', 'BEIJING', 0) DROP TABLE XMLPASSENGERTB CREATE TABLE XMLPASSENGERTB (LASTNAME CHAR(20) NOT NULL, FIRSTNAME CHAR(20) NOT NULL, FLIGHTNO CHAR(5) NOT NULL, FLIGHTDATE CHAR(8) NOT NULL, CLASSTYPE CHAR(1) NOT NULL, RESERVATIONNO VARCHAR(40) NOT NULL, PRIMARY KEY(RESERVATIONNO)) CONNECT RESET TERMINATE
이 스크립트를 실행하면 다음 작업이 수행됩니다.
데이터베이스를 작성하고 채우려면 다음을 수행하십시오.
db2start
db2 -vf airlinedb2.sql
스크립트 실행이 완료될 때까지 기다리십시오. 스크립트를 처음 실행하는 경우 다음 메시지가 표시됩니다. 여기서 DB2ADMIN은 사용자 이름이고 XMLPASSENGERTB는 테이블 이름입니다.
DB21034E 명령이 유효한 명령행 처리기 명령이 아니므로 SQL문으로 처리되었습니다. SQL 처리 중에 다음 메시지가 리턴되었습니다. SQL0204N "DB2ADMIN.XMLPASSENGERTB"는 정의되지 않은 이름입니다. SQLSTATE=42704이 메시지는 무시하십시오. 이 메시지는 스크립트가 XMLFLIGHTTB 및 XMLPASSENGERTB 테이블을 작성하기 전에 이 이름을 가진 모든 기존 테이블을 제거하려고 하지만 스크립트를 먼저 실행하지 않으면 이들 테이블을 찾을 수 없기 때문에 표시됩니다.