EXEC('INSERT INTO T_MyTable('+ @Columns +')
EXEC ('+ @UpdateString + ')'
)
@Columns에는 쉼표로 구분 된 열 이름이 포함되고 @UpdateString에는
'Update T_OtherTable
Set col1 = 123,
col2 = 456,
col3 = 'nice'
OUTPUT
DELETED.col1 as Old_FirstCol
INSERTED.col1 as New_FirstCol
DELETED.col2 as Old_SecondCol
INSERTED.col2 as New_SecondCol
DELETED.col3 as Old_ThridCol
INSERTED.col3 as New_ThirdCol
Where ID = 1'
잘못된 구문 오류가 발생합니다. EXEC 내에서 EXEC를 사용할 수 없습니까?
OUTPUT의 열 이름 뒤에 쉼표가 누락되었습니다.
'Update T_OtherTable
Set col1 = 123,
col2 = 456,
col3 = ''nice''
OUTPUT
DELETED.col1 as Old_FirstCol,
INSERTED.col1 as New_FirstCol,
DELETED.col2 as Old_SecondCol,
INSERTED.col2 as New_SecondCol,
DELETED.col3 as Old_ThridCol,
INSERTED.col3 as New_ThirdCol
Where ID = 1'
또한 중첩 된 EXEC를 사용하여 OUTPUT 절에서 테이블에 데이터를 직접 삽입하는 것이 좋습니다. 다음과 같아야합니다.
'Update T_OtherTable
Set col1 = 123,
col2 = 456,
col3 = ''nice''
OUTPUT
DELETED.col1 as Old_FirstCol,
INSERTED.col1 as New_FirstCol,
DELETED.col2 as Old_SecondCol,
INSERTED.col2 as New_SecondCol,
DELETED.col3 as Old_ThridCol,
INSERTED.col3 as New_ThirdCol
INTO T_MyTable('+ @Columns +')
Where ID = 1'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다