设置 DB2

这些指示信息假设您正在使用 DB2 通用数据库,并指导您完成以下任务:

以下任务是可选的:

请完成以下步骤:

  1. 在文本编辑器中打开新文档,将(用于创建 DBINPUT 数据库并运行 BIND 实用程序的)以下脚本复制并粘贴到到文档中,将文件命名为 dbinput.sql 并保存该文件。
  2. 在 DB2 命令窗口中,输入以下命令以确保 DB2 已启动:
    db2start
    
  3. 在 DB2 命令窗口中,浏览到包含 dbinput.sql 的文件夹并输入以下命令:
    db2 -vf dbinput.sql

下一步:选择下列其中一种方式创建数据库表和触发器:

手动创建数据库表和触发器

注意:创建和访问数据库表时,请注意以下问题:

创建数据库表和触发器:

  1. 在文本编辑器中打开新文档,将(用于创建 DBINPUT_CUSTOMER 表和 DBINPUT_EVENTS 表的)以下脚本复制并粘贴到文档中,将文件命名为 dbinput_create_tables_db2.sql 并保存该文件。
     
    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@
            
  2. 确保数据库正在运行且已连接。
  3. 在打开用于访问数据库的命令窗口中,切换到包含 dbinput_create_tables_db2.sql 的文件夹并输入以下命令:
    db2 -td@ -vf dbinput_create_tables_db2.sql

    等待脚本完成运行。 如果您首次运行该脚本,以下消息将显示两次:

    DB21034E  该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在 SQL 处理期间,它返回:
    SQL0204N  “DB2ADMIN.DBINPUT_EVENTS”不是已定义的名称。SQLSTATE=42704
    忽略这两条消息。 显示此消息是因为脚本在创建新表之前尝试除去名为 DBINPUT_CUSTOMER 和 DBINPUT_EVENTS 的现有表,但如果之前未曾运行此脚本,那么脚本找不到这些现有表。

    如果您不是首次运行该脚本,您可能会看到以下触发器警告:

    SQL0280W  视图、触发器或具体化查询表“DB2ADMIN.DBIN_CUST_UPDATE”替换了现有的不可用视图、触发器或具体化查询表。SQLSTATE=01595
    同样可以忽略这些消息。

返回到“设置数据库”

返回到样本主页