0

次のトリガーを作成して、資産タグを正しいフィールドに移動しました。

ただし、エラーが発生します。データベース担当者ではありません。

CREATE TRIGGER HARRISOP.ASSET_TAG INSTEAD OF  INSERT  ON DB2ADMIN.SNMPSYS FOR EACH                                                                                STATEMENT MODE DB2SQL 
   SELECT * 
   FROM DB2ADMIN.SNMPSYS AS SNMPSYS
   WHERE SNMPSYS.SYSCONTACT_X = ' A330637'
   INSERT INTO DB2ADMIN.CITEMPLATE (ASSETTAG_X)
   VALUES (DEFAULT)

ユーザーヘルプによる新しいコード。まだ行きません。

CONNECT TO CMDB;
CREATE TRIGGER DB2ADMIN.ASSET_TAG NO CASCADE BEFORE  INSERT  ON DB2ADMIN.SNMPSYS  FOR EACH ROW  MODE DB2SQL 
REFERENCING 
    NEW AS N
FOR EACH ROW 
MODE DB2SQL
SET N.ASSETTAG_X = SUBSTR(
  N.SYSCONTACT_X, 
  1, 
  LOCATE(',', N.SYSCONTACT_X) - 1
);
CONNECT RESET;
4

1 に答える 1

0

あなたが何を望んでいるかを正しく理解していれば、トリガーは次のようになります

CREATE TRIGGER HARRISOP.ASSET_TAG 
BEFORE INSERT   
ON DB2ADMIN.SNMPSYS 
REFERENCING NEW AS N
FOR EACH ROW 
SET N.ASSETTAG_X = SUBSTR(
  N.SYSCONTACT_X, 
  1, 
  LOCATE(',', N.SYSCONTACT_X) - 1
)

トリガーについて詳しくは、次のマニュアルを参照してください: http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.admin.dbobj.doc/doc/t0020225.html

于 2013-10-02T15:00:15.530 に答える