1

我正在尝试使用 myBatis 检索 SQL Sever 临时表的 SYSSTARTTIME 字段的值,但无法弄清楚。我有这样的事情:

<insert id="insertVersionedTableData" parameterType="com.me.dao.vo.DataVO">
    <selectKey keyProperty="systemStartTm" resultType="java.util.Date" order="AFTER">
        SELECT sysstarttm FROM @MyTableVar;
    </selectKey>
    DECLARE @MyTableVar TABLE (sysstarttm datetime);
    INSERT INTO
        dbo.versioned_table (id, first_name, last_name)
    OUTPUT inserted.system_start_tm into @MyTableVar
    VALUES (#{id}, #{firstName}, #{lastName});
</insert>

当我运行它时,虽然我可以在控制台日志记录中看到插入,但是它会抛出一个异常,说必须声明 @MyTableVar,所以就像插入后表变量超出范围并且标签运行就像常规 SELECT

我也尝试过生成键的功能,但 myBatis 期望键是表中我自动生成的 SYSTEMSTARTTIME 不是的第一个字段。

4

0 回答 0