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