Я пытаюсь получить значение поля SYSSTARTTIME временной таблицы SQL Sever с помощью myBatis и не могу его выяснить.У меня было что-то вроде этого:
<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.