0

次のコードがあります。

    try (DB db = new DB()) {
        db.open(cpds);
        // Using the metadata to walk down the tree and identify all
        // children nodes to the leaf tables.
        // First the metadata for the pk of the target table
        List<Integer> recordIdList = new ArrayList<Integer>();
        recordIdList.add(recordId);

        batchInsertDeletePks(recordIdList, db);

        List<Integer> pkValues = new ArrayList<Integer>();
        pkValues.add(recordId);

        prepareChildDeletes(tablemeta_id, pkValues, recordId, db);

        ColumnData.delete("RECORD_ID IN (SELECT ID FROM TEMPDELETE)");
        noDeleted = RecordData.delete("ID IN (SELECT ID FROM TEMPDELETE)");
        TempDelete.deleteAll();

    } catch (Exception ex) {
        logger.debug(ex.getMessage());
    }

TEMPDELETE には、COLUMNDATA から削除する必要がある主キーがすべて含まれています。ColumnData.delete が機能していない、RecordData.delete が機能していない、TempDelete.deleteAll が機能していない。例外はありません。データベースは h2-1.4.196 です

それらにトレースをデバッグし、作成された SQL をカット アンド ペーストし、SQL インタープリターでその SQL を実行すると、すべてのクエリが正常に機能します。

例と異なる私のアプローチの何がわかりませんか? 何か案は?

4

0 に答える 0