5
삽입시 동일한 테이블에 2 개의 다른 ID를 채울 필요가 있으며 selectKey를 사용하여 Oracle 시퀀스에서 값을 가져 와서 ID를 채우려고합니다.같은 삽입 쿼리에 하나 이상의 selectKey 절을 포함 할 수 있습니까?
하나의 id와 selectKey에는 아무런 문제가 없지만 두 번째 selectKey를 추가 할 때 값이 채워지지 않는 것 같습니다 (아래의 절 참조).
가능합니까? 또는 두 번째 ID를 업데이트하기 위해 다른 쿼리를 만들어야합니까?
감사
<insert id="create" parameterClass="MyObject">
<selectKey keyProperty="id" resultClass="long" type="pre">
<include refid="sequences.myObjectId" />
</selectKey>
<selectKey keyProperty="mySecondId" resultClass="long" type="pre">
<include refid="sequences.mySecondId" />
</selectKey>
INSERT INTO MY_OBJECT_TABLE
(
MY_OBJECT_ID,
MY_SECOND_ID,
...
)
VALUES
)
#id#,
#mySecondId#,
...
)
</insert>
나는 내 자신의 거래에 대답하는 것을 좋아하지 않지만 결국 다른 곳에서 대답을 찾았습니다. 바라기를 이것은 미래에 다른 사람을 도울 것입니다. –
MS SQL을 사용하고 있는데 비슷한 요구 사항이 있습니다. 이제 ** sequence에서 ** MY_SECOND_ID **를 가져 오는 대신 다른 테이블에서 가져와야합니다. 시퀀스 대신 선택 쿼리를 사용할 수 있습니까? –
MS SQL을 사용했지만 이후 MY_SECOND_ID_SEQUENCE.nextval 대신 (SELECT ID FROM yourQuery)을 추가 한 지 오래 되었습니까? –