Estas instrucciones dan por supuesto que se está utilizando DB2 Universal Database y le guían por las tareas siguientes:
Las tareas siguientes son opcionales:
Lleve a cabo los siguientes pasos:
En Windows:
Debe sustituir dir_instalación por la vía de acceso de subdirectorio de instalación del producto DB2, como por ejemplo, C:\PROGRA~1\IBM\SQLLIB. Puede encontrar esta ubicación utilizando el mandato db2level:CREATE DB DBINPUT CONNECT TO DBINPUT BIND 'dir_instalación\bnd\@db2cli.lst' blocking all grant public TERMINATE
En Linux:
Deberá sustituir dir_instalación por la vía de acceso al directorio de instalación del producto DB2. Puede encontrar esta ubicación utilizando el mandato db2level:CREATE DB DBINPUT CONNECT TO DBINPUT BIND dir_instalación/bnd/@db2cli.lst grant public CLIPKG 5 TERMINATE
db2start
db2 -vf dbinput.sql
Siguiente: Seleccione una de las opciones siguientes para crear las tablas de base de datos y los desencadenantes:
Nota. Cuando cree y acceda a las tablas de la base de datos, tenga en cuenta los problemas siguientes:
Crear las tablas de base de datos y los desencadenantes:
CONNECT TO DBINPUT@ DROP TABLE "DBINPUT_CUSTOMER"@ CREATE TABLE "DBINPUT_CUSTOMER" ( "PKEY" VARCHAR(10) NOT NULL, "FIRSTNAME" VARCHAR(20), "LASTNAME" VARCHAR(20), "CCODE" VARCHAR(10) ) DATA CAPTURE NONE@ DROP TABLE "DBINPUT_EVENTS"@ CREATE TABLE "DBINPUT_EVENTS" ( "EVENT_ID" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 NO CYCLE NO CACHE), "OBJECT_KEY" VARCHAR(80) NOT NULL, "OBJECT_VERB" VARCHAR(40) NOT NULL ) DATA CAPTURE NONE@ ALTER TABLE "DBINPUT_CUSTOMER" ADD CONSTRAINT "DBINPUTCUSTOMERPK" PRIMARY KEY ("PKEY")@ ALTER TABLE "DBINPUT_EVENTS" ADD CONSTRAINT "DBINPUTEVENTPK" PRIMARY KEY ("EVENT_ID")@ CREATE TRIGGER "DBIN_CUST_CREATE" AFTER INSERT ON "DBINPUT_CUSTOMER" REFERENCING NEW AS N FOR EACH ROW INSERT INTO DBINPUT_EVENTS (OBJECT_KEY, OBJECT_VERB) VALUES (N.pkey, 'Create')@ CREATE TRIGGER "DBIN_CUST_DELETE" AFTER DELETE ON "DBINPUT_CUSTOMER" REFERENCING OLD AS O FOR EACH ROW INSERT INTO DBINPUT_EVENTS (OBJECT_KEY, OBJECT_VERB) VALUES (O.pkey, 'Delete')@ CREATE TRIGGER "DBIN_CUST_UPDATE" AFTER UPDATE ON "DBINPUT_CUSTOMER" REFERENCING NEW AS N FOR EACH ROW INSERT INTO DBINPUT_EVENTS (OBJECT_KEY, OBJECT_VERB) VALUES (N.pkey, 'Update')@ TERMINATE@
db2 -td@ -vf dbinput_create_tables_db2.sql
Espere a que el script termine de ejecutarse. Si está ejecutando el script por primera vez, aparece el siguiente mensaje dos veces:
DB21034E El mandato se ha procesado como una sentencia SQL porque no era un mandato de Procesador de línea de mandatos válido. Durante el proceso de SQL ha devuelto: SQL0204N "DB2ADMIN.DBINPUT_EVENTS" es un nombre no definido. SQLSTATE=42704Haga caso omiso de ambos mensajes. El mensaje se visualiza porque el script intenta eliminar las tablas existentes, DBINPUT_CUSTOMER y DBINPUT_EVENTS, antes de crear las tablas nuevas, pero si no ha ejecutado el script antes, el script no podrá encontrar las tablas existentes.
Si no está ejecutando el script por primera vez, puede ver el siguiente aviso para cada uno de los desencadenantes:
SQL0280W La tabla de vista, desencadenante o consulta materializada "DB2ADMIN.DBIN_CUST_UPDATE" ha sustituido una tabla de vista no operativa existente, desencadenante consulta materializada. SQLSTATE=01595También puede ignorar estos mensajes.