CASE 절 안의 필드에 new_id를 할당해야합니다. 케이스 절 외부 사용시T-SQL : CASE 절의 INSERT INTO & OUTPUT 사용
INSERT INTO [table3]
OUTPUT inserted.some_new_id
DEFAULT VALUES
잘 작동
INSERT INTO [table1]
(field1, field2, field3, field4, field5, field6)
SELECT @someID1, field1_from_table2, @someID2, field2_from_table2,
CASE
WHEN field3_from_table2 IS NULL
THEN INSERT INTO [table3]
OUTPUT inserted.some_new_id
DEFAULT VALUES
ELSE field3_from_table2
END
FROM [table2]
코드 단편 여기
는 예이다.주된 문제점은 field3_from_table2가 table1 IS NULL에 삽입하려고 할 때 table3에서 가져온 new_id를 할당해야한다는 것입니다.
table3은 ID 디스패처입니다.
이 문제에 대한 아이디어 나 해결책이 있습니까?
미리 감사드립니다.
- 그것은 단지 설계에 ** 반환 값 ** ('여기 .... THEN (일부 값)') –
@Chorinator, 만약'field3_from_table2' 당신의 예제에서 table1에'INSERT' 될 행은'NULL'입니까? – gonsalu
@Gonsalu 아니요, 예제에 없지만 아주 간단한 테이블입니다. 그것은 단지 하나의 열을 포함하고 그것은 신원이다. 이 테이블은 ID 발송자로만 사용합니다. – Chorinator