Estas instruções supõem que você esteja utilizando o DB2 Universal Database. Quando criar e acessar as tabelas RESERVDB, considere as seguintes questões:
O seguinte script cria e preenche o banco de dados para a amostra Reservas Aéreas:
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
Ao executar o script, ele executa as seguintes tarefas:
Para criar e ocupar o banco de dados:
db2start
db2 -vf airlinedb2.sql
Aguarde a conclusão do script. Se você estiver executando o script pela primeira vez, a seguinte mensagem será exibida, em que DB2ADMIN é seu nome de usuário e XMLPASSENGERTB é o nome da tabela:
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0204N "DB2ADMIN.XMLPASSENGERTB" is an undefined name. SQLSTATE=42704Ignore essas mensagens. As mensagens são exibidas porque o script tenta eliminar todas as tabelas existentes chamadas XMLFLIGHTTB e XMLPASSENGERTB antes de criá-las, mas se o script não tiver sido executado anteriormente, ele não poderá localizar as tabelas.