{
  "status": "ROOT_APPROVED_TOOL_RECOVERY_ONLY_UNSENT_STEPS",
  "plan_sha256": "89343d0caf38bb47b863e6b70e731bbfeb8a10f3a4116ddf1019d5375c96e0fc",
  "original_C_raw_sha256": "be5411abd836e8e7e84331fdfc52ee71c93010c4a61555c35ce3b099ef052ef1",
  "original_C_stopped": {
    "lane": "C",
    "class": "PDOException",
    "message": "SQLSTATE[HY000]: General error: -2106 第1 行附近出现错误:\n无效的表或视图名[USER_ERRORS] (dpi_prepare[4294965190] at dm_driver.c:522)",
    "table_created": true,
    "index_created": false,
    "trigger_created": false,
    "creation_completed": false,
    "cleanup_started": false,
    "DDL_unknown": false,
    "DML_attempts": 0,
    "DDL_attempts": 1,
    "SELECT": 23
  },
  "readonly_recovery_files": {
    "C-recovery-preflight.json": "9973363ce9cace3ece2b59f76db2378200ae1b5d83b70203b5ca1d256be637fe",
    "C-recovery-dependencies.json": "ffa7f356c569d73a63f435cbc387c35b7d017354e80d5a96402bce1130d10d98",
    "C-recovery-user-dependencies.json": "4f1a22d30f06f7ccf1eed0dda005cabda70329ff677c527f7205e7286405d950"
  },
  "cumulative_start": {
    "DDL": 1,
    "DML": 0,
    "SELECT": 38
  },
  "remaining_DDL": [
    "CREATE UNIQUE INDEX ZHCT_APP.UX_CDX_SS7_2B_USERID ON ZHCT_APP.CDX_SS7_2B261011 (CAST(CASE WHEN DINGTALK_USERID IS NULL THEN NULL ELSE NVL(RAWTOHEX(CHARTOBIN(RTRIM(DINGTALK_USERID,' '))),'#') END AS VARCHAR(1024)))",
    "CREATE TRIGGER ZHCT_APP.TRG_CDX_SS7_2B_TIME\nBEFORE INSERT OR UPDATE ON ZHCT_APP.CDX_SS7_2B261011\nFOR EACH ROW\nDECLARE\n  V_CHANGED BOOLEAN;\n  V_NEW_LENGTH BIGINT;\n  V_OLD_LENGTH BIGINT;\n  V_OFFSET BIGINT;\n  V_OLD_CHUNK VARCHAR(2048);\n  V_NEW_CHUNK VARCHAR(2048);\nBEGIN\n  IF :NEW.PRIMARY_DEPARTMENT_UUID IS NOT NULL THEN\n    :NEW.PRIMARY_DEPARTMENT_UUID := RTRIM(:NEW.PRIMARY_DEPARTMENT_UUID,' ');\n  END IF;\n  IF :NEW.DINGTALK_SYNC_MD5 IS NOT NULL THEN\n    :NEW.DINGTALK_SYNC_MD5 := RTRIM(:NEW.DINGTALK_SYNC_MD5,' ');\n  END IF;\n  IF UPDATING AND NOT UPDATING('UPDATE_TIME') THEN\n    V_CHANGED := (\n    -- FIELD ID\n    ((:NEW.\"ID\" IS NULL AND :OLD.\"ID\" IS NOT NULL)\n      OR (:NEW.\"ID\" IS NOT NULL AND :OLD.\"ID\" IS NULL)\n      OR (:NEW.\"ID\" IS NOT NULL AND :OLD.\"ID\" IS NOT NULL AND :NEW.\"ID\" <> :OLD.\"ID\"))\n    OR\n    -- FIELD UUID\n    (NVL(LENGTHB(:NEW.\"UUID\"), -1) <> NVL(LENGTHB(:OLD.\"UUID\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"UUID\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"UUID\")), '#'))\n    OR\n    -- FIELD STATION_UUID\n    (NVL(LENGTHB(:NEW.\"STATION_UUID\"), -1) <> NVL(LENGTHB(:OLD.\"STATION_UUID\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"STATION_UUID\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"STATION_UUID\")), '#'))\n    OR\n    -- FIELD IS_ATHLETE\n    ((:NEW.\"IS_ATHLETE\" IS NULL AND :OLD.\"IS_ATHLETE\" IS NOT NULL)\n      OR (:NEW.\"IS_ATHLETE\" IS NOT NULL AND :OLD.\"IS_ATHLETE\" IS NULL)\n      OR (:NEW.\"IS_ATHLETE\" IS NOT NULL AND :OLD.\"IS_ATHLETE\" IS NOT NULL AND :NEW.\"IS_ATHLETE\" <> :OLD.\"IS_ATHLETE\"))\n    OR\n    -- FIELD GRADE\n    ((:NEW.\"GRADE\" IS NULL AND :OLD.\"GRADE\" IS NOT NULL)\n      OR (:NEW.\"GRADE\" IS NOT NULL AND :OLD.\"GRADE\" IS NULL)\n      OR (:NEW.\"GRADE\" IS NOT NULL AND :OLD.\"GRADE\" IS NOT NULL AND :NEW.\"GRADE\" <> :OLD.\"GRADE\"))\n    OR\n    -- FIELD NAME\n    (NVL(LENGTHB(:NEW.\"NAME\"), -1) <> NVL(LENGTHB(:OLD.\"NAME\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"NAME\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"NAME\")), '#'))\n    OR\n    -- FIELD SEX\n    ((:NEW.\"SEX\" IS NULL AND :OLD.\"SEX\" IS NOT NULL)\n      OR (:NEW.\"SEX\" IS NOT NULL AND :OLD.\"SEX\" IS NULL)\n      OR (:NEW.\"SEX\" IS NOT NULL AND :OLD.\"SEX\" IS NOT NULL AND :NEW.\"SEX\" <> :OLD.\"SEX\"))\n    OR\n    -- FIELD BIRTHDAY\n    ((:NEW.\"BIRTHDAY\" IS NULL AND :OLD.\"BIRTHDAY\" IS NOT NULL)\n      OR (:NEW.\"BIRTHDAY\" IS NOT NULL AND :OLD.\"BIRTHDAY\" IS NULL)\n      OR (:NEW.\"BIRTHDAY\" IS NOT NULL AND :OLD.\"BIRTHDAY\" IS NOT NULL AND :NEW.\"BIRTHDAY\" <> :OLD.\"BIRTHDAY\"))\n    OR\n    -- FIELD HEIGHT\n    ((:NEW.\"HEIGHT\" IS NULL AND :OLD.\"HEIGHT\" IS NOT NULL)\n      OR (:NEW.\"HEIGHT\" IS NOT NULL AND :OLD.\"HEIGHT\" IS NULL)\n      OR (:NEW.\"HEIGHT\" IS NOT NULL AND :OLD.\"HEIGHT\" IS NOT NULL AND :NEW.\"HEIGHT\" <> :OLD.\"HEIGHT\"))\n    OR\n    -- FIELD WEIGHT\n    ((:NEW.\"WEIGHT\" IS NULL AND :OLD.\"WEIGHT\" IS NOT NULL)\n      OR (:NEW.\"WEIGHT\" IS NOT NULL AND :OLD.\"WEIGHT\" IS NULL)\n      OR (:NEW.\"WEIGHT\" IS NOT NULL AND :OLD.\"WEIGHT\" IS NOT NULL AND :NEW.\"WEIGHT\" <> :OLD.\"WEIGHT\"))\n    OR\n    -- FIELD NATION\n    (NVL(LENGTHB(:NEW.\"NATION\"), -1) <> NVL(LENGTHB(:OLD.\"NATION\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"NATION\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"NATION\")), '#'))\n    OR\n    -- FIELD NATIVE_PLACE\n    (NVL(LENGTHB(:NEW.\"NATIVE_PLACE\"), -1) <> NVL(LENGTHB(:OLD.\"NATIVE_PLACE\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"NATIVE_PLACE\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"NATIVE_PLACE\")), '#'))\n    OR\n    -- FIELD IDENTITY_TYPE\n    ((:NEW.\"IDENTITY_TYPE\" IS NULL AND :OLD.\"IDENTITY_TYPE\" IS NOT NULL)\n      OR (:NEW.\"IDENTITY_TYPE\" IS NOT NULL AND :OLD.\"IDENTITY_TYPE\" IS NULL)\n      OR (:NEW.\"IDENTITY_TYPE\" IS NOT NULL AND :OLD.\"IDENTITY_TYPE\" IS NOT NULL AND :NEW.\"IDENTITY_TYPE\" <> :OLD.\"IDENTITY_TYPE\"))\n    OR\n    -- FIELD IDENTITY_NUMBER\n    (NVL(LENGTHB(:NEW.\"IDENTITY_NUMBER\"), -1) <> NVL(LENGTHB(:OLD.\"IDENTITY_NUMBER\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"IDENTITY_NUMBER\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"IDENTITY_NUMBER\")), '#'))\n    OR\n    -- FIELD HEAD_IMG\n    (NVL(LENGTHB(:NEW.\"HEAD_IMG\"), -1) <> NVL(LENGTHB(:OLD.\"HEAD_IMG\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"HEAD_IMG\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"HEAD_IMG\")), '#'))\n    OR\n    -- FIELD DINGTALK_AVATAR\n    (NVL(LENGTHB(:NEW.\"DINGTALK_AVATAR\"), -1) <> NVL(LENGTHB(:OLD.\"DINGTALK_AVATAR\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"DINGTALK_AVATAR\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"DINGTALK_AVATAR\")), '#'))\n    OR\n    -- FIELD SPORT_UUID\n    (NVL(LENGTHB(:NEW.\"SPORT_UUID\"), -1) <> NVL(LENGTHB(:OLD.\"SPORT_UUID\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"SPORT_UUID\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"SPORT_UUID\")), '#'))\n    OR\n    -- FIELD IN_TIME\n    ((:NEW.\"IN_TIME\" IS NULL AND :OLD.\"IN_TIME\" IS NOT NULL)\n      OR (:NEW.\"IN_TIME\" IS NOT NULL AND :OLD.\"IN_TIME\" IS NULL)\n      OR (:NEW.\"IN_TIME\" IS NOT NULL AND :OLD.\"IN_TIME\" IS NOT NULL AND :NEW.\"IN_TIME\" <> :OLD.\"IN_TIME\"))\n    OR\n    -- FIELD MOBILE\n    (NVL(LENGTHB(:NEW.\"MOBILE\"), -1) <> NVL(LENGTHB(:OLD.\"MOBILE\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"MOBILE\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"MOBILE\")), '#'))\n    OR\n    -- FIELD EMAIL\n    (NVL(LENGTHB(:NEW.\"EMAIL\"), -1) <> NVL(LENGTHB(:OLD.\"EMAIL\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"EMAIL\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"EMAIL\")), '#'))\n    OR\n    -- FIELD EMERGENCY_NAME1\n    (NVL(LENGTHB(:NEW.\"EMERGENCY_NAME1\"), -1) <> NVL(LENGTHB(:OLD.\"EMERGENCY_NAME1\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"EMERGENCY_NAME1\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"EMERGENCY_NAME1\")), '#'))\n    OR\n    -- FIELD EMERGENCY_CONTACT1\n    (NVL(LENGTHB(:NEW.\"EMERGENCY_CONTACT1\"), -1) <> NVL(LENGTHB(:OLD.\"EMERGENCY_CONTACT1\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"EMERGENCY_CONTACT1\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"EMERGENCY_CONTACT1\")), '#'))\n    OR\n    -- FIELD EMERGENCY_RELATION1\n    ((:NEW.\"EMERGENCY_RELATION1\" IS NULL AND :OLD.\"EMERGENCY_RELATION1\" IS NOT NULL)\n      OR (:NEW.\"EMERGENCY_RELATION1\" IS NOT NULL AND :OLD.\"EMERGENCY_RELATION1\" IS NULL)\n      OR (:NEW.\"EMERGENCY_RELATION1\" IS NOT NULL AND :OLD.\"EMERGENCY_RELATION1\" IS NOT NULL AND :NEW.\"EMERGENCY_RELATION1\" <> :OLD.\"EMERGENCY_RELATION1\"))\n    OR\n    -- FIELD EMERGENCY_NAME2\n    (NVL(LENGTHB(:NEW.\"EMERGENCY_NAME2\"), -1) <> NVL(LENGTHB(:OLD.\"EMERGENCY_NAME2\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"EMERGENCY_NAME2\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"EMERGENCY_NAME2\")), '#'))\n    OR\n    -- FIELD EMERGENCY_CONTACT2\n    (NVL(LENGTHB(:NEW.\"EMERGENCY_CONTACT2\"), -1) <> NVL(LENGTHB(:OLD.\"EMERGENCY_CONTACT2\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"EMERGENCY_CONTACT2\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"EMERGENCY_CONTACT2\")), '#'))\n    OR\n    -- FIELD EMERGENCY_RELATION2\n    ((:NEW.\"EMERGENCY_RELATION2\" IS NULL AND :OLD.\"EMERGENCY_RELATION2\" IS NOT NULL)\n      OR (:NEW.\"EMERGENCY_RELATION2\" IS NOT NULL AND :OLD.\"EMERGENCY_RELATION2\" IS NULL)\n      OR (:NEW.\"EMERGENCY_RELATION2\" IS NOT NULL AND :OLD.\"EMERGENCY_RELATION2\" IS NOT NULL AND :NEW.\"EMERGENCY_RELATION2\" <> :OLD.\"EMERGENCY_RELATION2\"))\n    OR\n    -- FIELD DISEASE_TIMES\n    ((:NEW.\"DISEASE_TIMES\" IS NULL AND :OLD.\"DISEASE_TIMES\" IS NOT NULL)\n      OR (:NEW.\"DISEASE_TIMES\" IS NOT NULL AND :OLD.\"DISEASE_TIMES\" IS NULL)\n      OR (:NEW.\"DISEASE_TIMES\" IS NOT NULL AND :OLD.\"DISEASE_TIMES\" IS NOT NULL AND :NEW.\"DISEASE_TIMES\" <> :OLD.\"DISEASE_TIMES\"))\n    OR\n    -- FIELD CREATE_TIME\n    ((:NEW.\"CREATE_TIME\" IS NULL AND :OLD.\"CREATE_TIME\" IS NOT NULL)\n      OR (:NEW.\"CREATE_TIME\" IS NOT NULL AND :OLD.\"CREATE_TIME\" IS NULL)\n      OR (:NEW.\"CREATE_TIME\" IS NOT NULL AND :OLD.\"CREATE_TIME\" IS NOT NULL AND :NEW.\"CREATE_TIME\" <> :OLD.\"CREATE_TIME\"))\n    OR\n    -- FIELD CREATE_BY\n    (NVL(LENGTHB(:NEW.\"CREATE_BY\"), -1) <> NVL(LENGTHB(:OLD.\"CREATE_BY\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"CREATE_BY\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"CREATE_BY\")), '#'))\n    OR\n    -- FIELD PERSONNEL_UMBER\n    (NVL(LENGTHB(:NEW.\"PERSONNEL_UMBER\"), -1) <> NVL(LENGTHB(:OLD.\"PERSONNEL_UMBER\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"PERSONNEL_UMBER\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"PERSONNEL_UMBER\")), '#'))\n    OR\n    -- FIELD IS_SHOW\n    ((:NEW.\"IS_SHOW\" IS NULL AND :OLD.\"IS_SHOW\" IS NOT NULL)\n      OR (:NEW.\"IS_SHOW\" IS NOT NULL AND :OLD.\"IS_SHOW\" IS NULL)\n      OR (:NEW.\"IS_SHOW\" IS NOT NULL AND :OLD.\"IS_SHOW\" IS NOT NULL AND :NEW.\"IS_SHOW\" <> :OLD.\"IS_SHOW\"))\n    OR\n    -- FIELD STATUS\n    ((:NEW.\"STATUS\" IS NULL AND :OLD.\"STATUS\" IS NOT NULL)\n      OR (:NEW.\"STATUS\" IS NOT NULL AND :OLD.\"STATUS\" IS NULL)\n      OR (:NEW.\"STATUS\" IS NOT NULL AND :OLD.\"STATUS\" IS NOT NULL AND :NEW.\"STATUS\" <> :OLD.\"STATUS\"))\n    OR\n    -- FIELD PERMANENT_ADDRESS\n    (NVL(LENGTHB(:NEW.\"PERMANENT_ADDRESS\"), -1) <> NVL(LENGTHB(:OLD.\"PERMANENT_ADDRESS\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"PERMANENT_ADDRESS\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"PERMANENT_ADDRESS\")), '#'))\n    OR\n    -- FIELD COACH_NAME\n    (NVL(LENGTHB(:NEW.\"COACH_NAME\"), -1) <> NVL(LENGTHB(:OLD.\"COACH_NAME\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"COACH_NAME\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"COACH_NAME\")), '#'))\n    OR\n    -- FIELD SPORT_YEAR\n    (NVL(LENGTHB(:NEW.\"SPORT_YEAR\"), -1) <> NVL(LENGTHB(:OLD.\"SPORT_YEAR\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"SPORT_YEAR\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"SPORT_YEAR\")), '#'))\n    OR\n    -- FIELD CARD_ID\n    (NVL(LENGTHB(:NEW.\"CARD_ID\"), -1) <> NVL(LENGTHB(:OLD.\"CARD_ID\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"CARD_ID\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"CARD_ID\")), '#'))\n    OR\n    -- FIELD MONEY\n    ((:NEW.\"MONEY\" IS NULL AND :OLD.\"MONEY\" IS NOT NULL)\n      OR (:NEW.\"MONEY\" IS NOT NULL AND :OLD.\"MONEY\" IS NULL)\n      OR (:NEW.\"MONEY\" IS NOT NULL AND :OLD.\"MONEY\" IS NOT NULL AND :NEW.\"MONEY\" <> :OLD.\"MONEY\"))\n    OR\n    -- FIELD PAL_MTIME\n    ((:NEW.\"PAL_MTIME\" IS NULL AND :OLD.\"PAL_MTIME\" IS NOT NULL)\n      OR (:NEW.\"PAL_MTIME\" IS NOT NULL AND :OLD.\"PAL_MTIME\" IS NULL)\n      OR (:NEW.\"PAL_MTIME\" IS NOT NULL AND :OLD.\"PAL_MTIME\" IS NOT NULL AND :NEW.\"PAL_MTIME\" <> :OLD.\"PAL_MTIME\"))\n    OR\n    -- FIELD PAL_BY_NAME\n    (NVL(LENGTHB(:NEW.\"PAL_BY_NAME\"), -1) <> NVL(LENGTHB(:OLD.\"PAL_BY_NAME\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"PAL_BY_NAME\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"PAL_BY_NAME\")), '#'))\n    OR\n    -- FIELD USER_HARDWARE\n    ((:NEW.\"USER_HARDWARE\" IS NULL AND :OLD.\"USER_HARDWARE\" IS NOT NULL)\n      OR (:NEW.\"USER_HARDWARE\" IS NOT NULL AND :OLD.\"USER_HARDWARE\" IS NULL)\n      OR (:NEW.\"USER_HARDWARE\" IS NOT NULL AND :OLD.\"USER_HARDWARE\" IS NOT NULL AND :NEW.\"USER_HARDWARE\" <> :OLD.\"USER_HARDWARE\"))\n    OR\n    -- FIELD HARDWARE_TIME\n    (NVL(LENGTHB(:NEW.\"HARDWARE_TIME\"), -1) <> NVL(LENGTHB(:OLD.\"HARDWARE_TIME\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"HARDWARE_TIME\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"HARDWARE_TIME\")), '#'))\n    OR\n    -- FIELD HARDWARE_FLAG\n    ((:NEW.\"HARDWARE_FLAG\" IS NULL AND :OLD.\"HARDWARE_FLAG\" IS NOT NULL)\n      OR (:NEW.\"HARDWARE_FLAG\" IS NOT NULL AND :OLD.\"HARDWARE_FLAG\" IS NULL)\n      OR (:NEW.\"HARDWARE_FLAG\" IS NOT NULL AND :OLD.\"HARDWARE_FLAG\" IS NOT NULL AND :NEW.\"HARDWARE_FLAG\" <> :OLD.\"HARDWARE_FLAG\"))\n    OR\n    -- FIELD TAKE_MEAL\n    ((:NEW.\"TAKE_MEAL\" IS NULL AND :OLD.\"TAKE_MEAL\" IS NOT NULL)\n      OR (:NEW.\"TAKE_MEAL\" IS NOT NULL AND :OLD.\"TAKE_MEAL\" IS NULL)\n      OR (:NEW.\"TAKE_MEAL\" IS NOT NULL AND :OLD.\"TAKE_MEAL\" IS NOT NULL AND :NEW.\"TAKE_MEAL\" <> :OLD.\"TAKE_MEAL\"))\n    OR\n    -- FIELD NUM\n    (NVL(LENGTHB(:NEW.\"NUM\"), -1) <> NVL(LENGTHB(:OLD.\"NUM\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"NUM\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"NUM\")), '#'))\n    OR\n    -- FIELD POSITION\n    (NVL(LENGTHB(:NEW.\"POSITION\"), -1) <> NVL(LENGTHB(:OLD.\"POSITION\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"POSITION\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"POSITION\")), '#'))\n    OR\n    -- FIELD SCALES_MAC_ADDRESS\n    (NVL(LENGTHB(:NEW.\"SCALES_MAC_ADDRESS\"), -1) <> NVL(LENGTHB(:OLD.\"SCALES_MAC_ADDRESS\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"SCALES_MAC_ADDRESS\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"SCALES_MAC_ADDRESS\")), '#'))\n    OR\n    -- FIELD SYNC_FLAG\n    ((:NEW.\"SYNC_FLAG\" IS NULL AND :OLD.\"SYNC_FLAG\" IS NOT NULL)\n      OR (:NEW.\"SYNC_FLAG\" IS NOT NULL AND :OLD.\"SYNC_FLAG\" IS NULL)\n      OR (:NEW.\"SYNC_FLAG\" IS NOT NULL AND :OLD.\"SYNC_FLAG\" IS NOT NULL AND :NEW.\"SYNC_FLAG\" <> :OLD.\"SYNC_FLAG\"))\n    OR\n    -- FIELD ZP_IS_SYNCHRO\n    ((:NEW.\"ZP_IS_SYNCHRO\" IS NULL AND :OLD.\"ZP_IS_SYNCHRO\" IS NOT NULL)\n      OR (:NEW.\"ZP_IS_SYNCHRO\" IS NOT NULL AND :OLD.\"ZP_IS_SYNCHRO\" IS NULL)\n      OR (:NEW.\"ZP_IS_SYNCHRO\" IS NOT NULL AND :OLD.\"ZP_IS_SYNCHRO\" IS NOT NULL AND :NEW.\"ZP_IS_SYNCHRO\" <> :OLD.\"ZP_IS_SYNCHRO\"))\n    OR\n    -- FIELD ZP_CARD\n    (NVL(LENGTHB(:NEW.\"ZP_CARD\"), -1) <> NVL(LENGTHB(:OLD.\"ZP_CARD\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"ZP_CARD\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"ZP_CARD\")), '#'))\n    OR\n    -- FIELD ZP_MOB\n    (NVL(LENGTHB(:NEW.\"ZP_MOB\"), -1) <> NVL(LENGTHB(:OLD.\"ZP_MOB\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"ZP_MOB\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"ZP_MOB\")), '#'))\n    OR\n    -- FIELD SOURCE_HEAD_IMG\n    (NVL(LENGTHB(:NEW.\"SOURCE_HEAD_IMG\"), -1) <> NVL(LENGTHB(:OLD.\"SOURCE_HEAD_IMG\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"SOURCE_HEAD_IMG\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"SOURCE_HEAD_IMG\")), '#'))\n    OR\n    -- FIELD ZP_IS_CHARGE\n    ((:NEW.\"ZP_IS_CHARGE\" IS NULL AND :OLD.\"ZP_IS_CHARGE\" IS NOT NULL)\n      OR (:NEW.\"ZP_IS_CHARGE\" IS NOT NULL AND :OLD.\"ZP_IS_CHARGE\" IS NULL)\n      OR (:NEW.\"ZP_IS_CHARGE\" IS NOT NULL AND :OLD.\"ZP_IS_CHARGE\" IS NOT NULL AND :NEW.\"ZP_IS_CHARGE\" <> :OLD.\"ZP_IS_CHARGE\"))\n    OR\n    -- FIELD NICKNAME\n    (NVL(LENGTHB(:NEW.\"NICKNAME\"), -1) <> NVL(LENGTHB(:OLD.\"NICKNAME\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"NICKNAME\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"NICKNAME\")), '#'))\n    OR\n    -- FIELD IS_WX\n    ((:NEW.\"IS_WX\" IS NULL AND :OLD.\"IS_WX\" IS NOT NULL)\n      OR (:NEW.\"IS_WX\" IS NOT NULL AND :OLD.\"IS_WX\" IS NULL)\n      OR (:NEW.\"IS_WX\" IS NOT NULL AND :OLD.\"IS_WX\" IS NOT NULL AND :NEW.\"IS_WX\" <> :OLD.\"IS_WX\"))\n    OR\n    -- FIELD RESTAURANT_ID\n    ((:NEW.\"RESTAURANT_ID\" IS NULL AND :OLD.\"RESTAURANT_ID\" IS NOT NULL)\n      OR (:NEW.\"RESTAURANT_ID\" IS NOT NULL AND :OLD.\"RESTAURANT_ID\" IS NULL)\n      OR (:NEW.\"RESTAURANT_ID\" IS NOT NULL AND :OLD.\"RESTAURANT_ID\" IS NOT NULL AND :NEW.\"RESTAURANT_ID\" <> :OLD.\"RESTAURANT_ID\"))\n    OR\n    -- FIELD MEMBER_TYPE\n    ((:NEW.\"MEMBER_TYPE\" IS NULL AND :OLD.\"MEMBER_TYPE\" IS NOT NULL)\n      OR (:NEW.\"MEMBER_TYPE\" IS NOT NULL AND :OLD.\"MEMBER_TYPE\" IS NULL)\n      OR (:NEW.\"MEMBER_TYPE\" IS NOT NULL AND :OLD.\"MEMBER_TYPE\" IS NOT NULL AND :NEW.\"MEMBER_TYPE\" <> :OLD.\"MEMBER_TYPE\"))\n    OR\n    -- FIELD SOURCE\n    ((:NEW.\"SOURCE\" IS NULL AND :OLD.\"SOURCE\" IS NOT NULL)\n      OR (:NEW.\"SOURCE\" IS NOT NULL AND :OLD.\"SOURCE\" IS NULL)\n      OR (:NEW.\"SOURCE\" IS NOT NULL AND :OLD.\"SOURCE\" IS NOT NULL AND :NEW.\"SOURCE\" <> :OLD.\"SOURCE\"))\n    OR\n    -- FIELD HS_USER_ID\n    ((:NEW.\"HS_USER_ID\" IS NULL AND :OLD.\"HS_USER_ID\" IS NOT NULL)\n      OR (:NEW.\"HS_USER_ID\" IS NOT NULL AND :OLD.\"HS_USER_ID\" IS NULL)\n      OR (:NEW.\"HS_USER_ID\" IS NOT NULL AND :OLD.\"HS_USER_ID\" IS NOT NULL AND :NEW.\"HS_USER_ID\" <> :OLD.\"HS_USER_ID\"))\n    OR\n    -- FIELD USER_FACE_URL\n    (NVL(LENGTHB(:NEW.\"USER_FACE_URL\"), -1) <> NVL(LENGTHB(:OLD.\"USER_FACE_URL\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"USER_FACE_URL\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"USER_FACE_URL\")), '#'))\n    OR\n    -- FIELD DEPARTMENT_ID\n    ((:NEW.\"DEPARTMENT_ID\" IS NULL AND :OLD.\"DEPARTMENT_ID\" IS NOT NULL)\n      OR (:NEW.\"DEPARTMENT_ID\" IS NOT NULL AND :OLD.\"DEPARTMENT_ID\" IS NULL)\n      OR (:NEW.\"DEPARTMENT_ID\" IS NOT NULL AND :OLD.\"DEPARTMENT_ID\" IS NOT NULL AND :NEW.\"DEPARTMENT_ID\" <> :OLD.\"DEPARTMENT_ID\"))\n    OR\n    -- FIELD DEPARTMENT_NAME\n    (NVL(LENGTHB(:NEW.\"DEPARTMENT_NAME\"), -1) <> NVL(LENGTHB(:OLD.\"DEPARTMENT_NAME\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"DEPARTMENT_NAME\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"DEPARTMENT_NAME\")), '#'))\n    OR\n    -- FIELD DEPARTMENT_PARENT_ID\n    ((:NEW.\"DEPARTMENT_PARENT_ID\" IS NULL AND :OLD.\"DEPARTMENT_PARENT_ID\" IS NOT NULL)\n      OR (:NEW.\"DEPARTMENT_PARENT_ID\" IS NOT NULL AND :OLD.\"DEPARTMENT_PARENT_ID\" IS NULL)\n      OR (:NEW.\"DEPARTMENT_PARENT_ID\" IS NOT NULL AND :OLD.\"DEPARTMENT_PARENT_ID\" IS NOT NULL AND :NEW.\"DEPARTMENT_PARENT_ID\" <> :OLD.\"DEPARTMENT_PARENT_ID\"))\n    OR\n    -- FIELD ACCOUNT\n    (NVL(LENGTHB(:NEW.\"ACCOUNT\"), -1) <> NVL(LENGTHB(:OLD.\"ACCOUNT\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"ACCOUNT\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"ACCOUNT\")), '#'))\n    OR\n    -- FIELD QRCODE\n    (NVL(LENGTHB(:NEW.\"QRCODE\"), -1) <> NVL(LENGTHB(:OLD.\"QRCODE\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"QRCODE\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"QRCODE\")), '#'))\n    OR\n    -- FIELD REGISTER_MOBILE\n    (NVL(LENGTHB(:NEW.\"REGISTER_MOBILE\"), -1) <> NVL(LENGTHB(:OLD.\"REGISTER_MOBILE\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"REGISTER_MOBILE\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"REGISTER_MOBILE\")), '#'))\n    OR\n    -- FIELD HS_MOBILE\n    (NVL(LENGTHB(:NEW.\"HS_MOBILE\"), -1) <> NVL(LENGTHB(:OLD.\"HS_MOBILE\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"HS_MOBILE\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"HS_MOBILE\")), '#'))\n    OR\n    -- FIELD AI_MOBILE\n    (NVL(LENGTHB(:NEW.\"AI_MOBILE\"), -1) <> NVL(LENGTHB(:OLD.\"AI_MOBILE\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"AI_MOBILE\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"AI_MOBILE\")), '#'))\n    OR\n    -- FIELD AI_USER_ID\n    ((:NEW.\"AI_USER_ID\" IS NULL AND :OLD.\"AI_USER_ID\" IS NOT NULL)\n      OR (:NEW.\"AI_USER_ID\" IS NOT NULL AND :OLD.\"AI_USER_ID\" IS NULL)\n      OR (:NEW.\"AI_USER_ID\" IS NOT NULL AND :OLD.\"AI_USER_ID\" IS NOT NULL AND :NEW.\"AI_USER_ID\" <> :OLD.\"AI_USER_ID\"))\n    OR\n    -- FIELD JOB_STATUS\n    ((:NEW.\"JOB_STATUS\" IS NULL AND :OLD.\"JOB_STATUS\" IS NOT NULL)\n      OR (:NEW.\"JOB_STATUS\" IS NOT NULL AND :OLD.\"JOB_STATUS\" IS NULL)\n      OR (:NEW.\"JOB_STATUS\" IS NOT NULL AND :OLD.\"JOB_STATUS\" IS NOT NULL AND :NEW.\"JOB_STATUS\" <> :OLD.\"JOB_STATUS\"))\n    OR\n    -- FIELD IDENTITY_CATEGORY_ID\n    ((:NEW.\"IDENTITY_CATEGORY_ID\" IS NULL AND :OLD.\"IDENTITY_CATEGORY_ID\" IS NOT NULL)\n      OR (:NEW.\"IDENTITY_CATEGORY_ID\" IS NOT NULL AND :OLD.\"IDENTITY_CATEGORY_ID\" IS NULL)\n      OR (:NEW.\"IDENTITY_CATEGORY_ID\" IS NOT NULL AND :OLD.\"IDENTITY_CATEGORY_ID\" IS NOT NULL AND :NEW.\"IDENTITY_CATEGORY_ID\" <> :OLD.\"IDENTITY_CATEGORY_ID\"))\n    OR\n    -- FIELD DINGTALK_USERID\n    (NVL(LENGTHB(:NEW.\"DINGTALK_USERID\"), -1) <> NVL(LENGTHB(:OLD.\"DINGTALK_USERID\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"DINGTALK_USERID\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"DINGTALK_USERID\")), '#'))\n    OR\n    -- FIELD PRIMARY_DEPARTMENT_UUID\n    (NVL(LENGTHB(:NEW.\"PRIMARY_DEPARTMENT_UUID\"), -1) <> NVL(LENGTHB(:OLD.\"PRIMARY_DEPARTMENT_UUID\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"PRIMARY_DEPARTMENT_UUID\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"PRIMARY_DEPARTMENT_UUID\")), '#'))\n    OR\n    -- FIELD DINGTALK_LAST_SEEN_FULL_BATCH_ID\n    ((:NEW.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" IS NULL AND :OLD.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" IS NOT NULL)\n      OR (:NEW.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" IS NOT NULL AND :OLD.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" IS NULL)\n      OR (:NEW.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" IS NOT NULL AND :OLD.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" IS NOT NULL AND :NEW.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\" <> :OLD.\"DINGTALK_LAST_SEEN_FULL_BATCH_ID\"))\n    OR\n    -- FIELD DINGTALK_SYNC_TIME\n    ((:NEW.\"DINGTALK_SYNC_TIME\" IS NULL AND :OLD.\"DINGTALK_SYNC_TIME\" IS NOT NULL)\n      OR (:NEW.\"DINGTALK_SYNC_TIME\" IS NOT NULL AND :OLD.\"DINGTALK_SYNC_TIME\" IS NULL)\n      OR (:NEW.\"DINGTALK_SYNC_TIME\" IS NOT NULL AND :OLD.\"DINGTALK_SYNC_TIME\" IS NOT NULL AND :NEW.\"DINGTALK_SYNC_TIME\" <> :OLD.\"DINGTALK_SYNC_TIME\"))\n    OR\n    -- FIELD DINGTALK_SYNC_MD5\n    (NVL(LENGTHB(:NEW.\"DINGTALK_SYNC_MD5\"), -1) <> NVL(LENGTHB(:OLD.\"DINGTALK_SYNC_MD5\"), -1)\n      OR NVL(RAWTOHEX(CHARTOBIN(:NEW.\"DINGTALK_SYNC_MD5\")), '#') <> NVL(RAWTOHEX(CHARTOBIN(:OLD.\"DINGTALK_SYNC_MD5\")), '#'))\n    );\n    IF NOT V_CHANGED AND UPDATING('SPORT_EVENT_UUID') THEN\n      IF (:OLD.SPORT_EVENT_UUID IS NULL AND :NEW.SPORT_EVENT_UUID IS NOT NULL)\n        OR (:OLD.SPORT_EVENT_UUID IS NOT NULL AND :NEW.SPORT_EVENT_UUID IS NULL) THEN\n        V_CHANGED := TRUE;\n      ELSIF :OLD.SPORT_EVENT_UUID IS NOT NULL AND :NEW.SPORT_EVENT_UUID IS NOT NULL THEN\n        V_OLD_LENGTH := NVL(DBMS_LOB.GETLENGTH(:OLD.SPORT_EVENT_UUID), 0);\n        V_NEW_LENGTH := NVL(DBMS_LOB.GETLENGTH(:NEW.SPORT_EVENT_UUID), 0);\n        IF V_OLD_LENGTH <> V_NEW_LENGTH THEN\n          V_CHANGED := TRUE;\n        ELSE\n          V_OFFSET := 1;\n          WHILE V_OFFSET <= V_OLD_LENGTH AND NOT V_CHANGED LOOP\n            V_OLD_CHUNK := RAWTOHEX(CHARTOBIN(DBMS_LOB.SUBSTR(:OLD.SPORT_EVENT_UUID,256,V_OFFSET)));\n            V_NEW_CHUNK := RAWTOHEX(CHARTOBIN(DBMS_LOB.SUBSTR(:NEW.SPORT_EVENT_UUID,256,V_OFFSET)));\n            IF NVL(V_OLD_CHUNK,'#') <> NVL(V_NEW_CHUNK,'#') THEN\n              V_CHANGED := TRUE;\n            END IF;\n            V_OFFSET := V_OFFSET + 256;\n          END LOOP;\n        END IF;\n      END IF;\n    END IF;\n    IF V_CHANGED THEN\n      :NEW.UPDATE_TIME := TO_TIMESTAMP(TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS');\n    END IF;\n  END IF;\nEND;",
    "DROP TRIGGER ZHCT_APP.TRG_CDX_SS7_2B_TIME",
    "DROP INDEX ZHCT_APP.UX_CDX_SS7_2B_USERID",
    "DROP TABLE ZHCT_APP.CDX_SS7_2B261011"
  ],
  "created_table_sent_SQL_SHA": "0823ec14b6b4e9b14c35ef0dfc6d88e4eb92e3fed7949a57352a697ac727b409",
  "canonical_table_DDL_SHA": "6e1e049473665af87b0b206aa015965dcaf53854b99b958ff53e0adddcf4fb3a",
  "actual_initial_index_names": [
    "INDEX33556691",
    "INDEX33556692"
  ],
  "diagnostics": {
    "USER_ERRORS": "original -2106 retained; no retry",
    "SYSDEPENDENCIES": "readonly -5504 retained; no grant",
    "USER_DEPENDENCIES": "own owner/table filtered 0",
    "require_native_object_STATUS": "VALID",
    "require_owned_trigger_STATUS": "Y"
  },
  "source_observed_time_override": {
    "ALL76_SELF": "advance_to_own_DB_window"
  },
  "budgets_total": {
    "DDL": 6,
    "DML": 217,
    "SELECT": 650,
    "HTTP": 0,
    "Staff_business_writes": 0
  }
}
