현재 SQL Server 2008을 사용하고 있으며 테이블 변수를 사용하여 여러 행을 테이블에 삽입하려고합니다. 지금 당장은 4 개의 다른 지점 (2 select 문, 1 insert 및 1 update)에 추가되는 정보를 삽입해야하지만 하나의 테이블 변수를 만들 수 있기를 원합니다. 한 번 정보. 어떤 도움이나 제안이라도 대단히 감사하겠습니다.테이블 변수를 사용하여 SQL Server 테이블에 여러 행 삽입
변경하려는 내용의 예입니다. table2
에서 table1
값으로
PRINT 'Before'
SELECT GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ
WHERE groupID in(ID1, ID2, ID3, ID4)
BEGIN TRAN
Insert into TableXYZ
(GROUPID)
VALUES
(ID1), (ID2), (ID3), (ID4)
UPDATE TableXYZ
SET existingdays = 15
,ModifiedBy = @userID
,ModifiedDate = @today
WHERE groupID in(ID1, ID2, ID3, ID4)
Set @RowCount = @@ROWCOUNT
PRINT 'After '
SELECT GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ
WHERE groupID in(ID1, ID2, ID3, ID4)
하나의 TVP가 두 개의 선택, 삽입 및 업데이트를 대체 할 수있는 이유는 무엇입니까? – Oded
질문에 대한 자세한 내용을 설명해 주시겠습니까? –
AFAIK 변수를 가진 테이블을 목표로하고 싶다면, 변수 안에 다른 모든 쿼리 코드를 연결하기 위해'CONCAT()'을 사용하여 ** 쿼리 안에 (준비된) 명령문 **을 만들어야합니다. – inhan