데이터베이스의 뷰에 INSTEAD OF INSERT 트리거를 만들었습니다. 보기에서 INSERT 문의 열 목록에 포함 된 열을 알고 싶습니다.INSERT TRIGGERS 및 UPDATE() 함수
트리거에 대한 MSDN 설명서를 읽으면 UPDATE() 및 COLUMNS_UPDATED() 함수가이 요구 사항을 충족해야합니다. 그러나, 내 테스트 중에 INSERT 열 목록에 어떤 열이 관계없이 UPDATE() 및 COLUMNS_UPDATED() 함수는 항상보기에서 모든 열을 반환하는 것을 발견했습니다.
내가 이것을하고 싶은 이유는 기존 테이블을 수정해야하고 거기에 의존하는 많은 레거시 코드가 있기 때문입니다. 그래서 내가 한 것은 새로운 테이블을 생성하고, 이전의 테이블을 뷰로 변경하고 뷰에 트리거를 생성하여 INSERT, UPDATE 및 DELETE 문을 허용합니다.
보기에 삽입하면 기본값을 사용하는 경우 기존 테이블에 특정 열에 대한 기본값이 있습니다. 새 테이블에 삽입 할 때 기본값을 사용하고 싶습니다. 이렇게하려면 INSERT에 대해 [명시 적으로] 제공된 열이있는 열을 파악할 수 있어야합니다.
열이 NULL인지 확인하려면 INSERT 문에서 필드 값을 NULL로 명시 적으로 설정할 수 있고 이것이 허용 될 수 있기 때문에 충분하지 않습니다.
음, 분명하겠습니다. Kep.
뭔가를 정렬 할 수 있습니다. 어쩌면 가장 일반적인 시나리오로 가서 처리 할 수없는 레거시 코드를 수정 해 보겠습니다. – Kepboy