다음을 통해 공유


XML Updategram을 사용하여 데이터 삭제(SQLXML 4.0)

적용 대상: SQL ServerAzure SQL Database

updategram은 레코드 인스턴스가 후>방 블록에< 해당 레코드가 없는 이전> 블록에 <나타날 때 삭제 작업을 나타냅니다. 이 경우 updategram은 데이터베이스에서 이전> 블록의 <레코드를 삭제합니다.

다음은 삭제 작업의 updategram 형식입니다.

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">  
  <updg:sync [mapping-schema="SampleSchema.xml"]  >  
   <updg:before>  
       <ElementName />  
      [<ElementName .../>... ]  
   </updg:before>  
    [<updg:after>  
    </updg:after>]  
  </updg:sync>  
</ROOT>  

updategram이 <삭제 작업만 수행하는 경우 후> 태그를 생략할 수 있습니다. 선택적 매핑 스키마 특성을< 지정하지 않으면 updategram에 지정된 ElementName>이 데이터베이스 테이블에 매핑되고 자식 요소 또는 특성이 테이블의 열에 매핑됩니다.

updategram에 지정된 요소가 테이블에서 둘 이상의 행과 일치하거나 행과 일치하지 않는 경우 updategram은 오류를 반환하고 전체 <동기화> 블록을 취소합니다. updategram의 요소에서 한 번에 하나의 레코드만 삭제할 수 있습니다.

예제

이 섹션의 예제에서는 기본 매핑을 사용합니다(즉, updategram에 매핑 스키마가 지정되지 않음). 매핑 스키마 를 사용하는 updategram에 대한 자세한 예제는 Updategram에서 주석이 추가된 매핑 스키마 지정(SQLXML 4.0)을 참조하세요.

다음 예제를 사용하여 작업 샘플을 만들려면 SQLXML 실행 요구 사항 예제지정된 요구 사항을 충족해야 합니다.

A. updategram을 사용하여 레코드 삭제

다음 updategrams는 HumanResources.Shift 테이블에서 두 개의 레코드를 삭제합니다.

이러한 예제에서 updategram은 매핑 스키마를 지정하지 않습니다. 요소 이름은 테이블 이름에 매핑되고 특성 또는 하위 요소는 열에 매핑되는 기본 매핑을 사용합니다.

이 첫 번째 updategram은 특성 중심이며 이전> 블록에서 <두 교대 근무(낮-저녁 및 저녁-밤)를 식별합니다. After> 블록에 해당 레코드가 <없으므로 삭제 작업입니다.

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">  
<updg:sync >  
  <updg:before>  
       <HumanResources.Shift ShiftID="4"  
                        Name="Day-Evening"  
                        StartTime="1900-01-01 11:00:00.000"  
                        EndTime="1900-01-01 19:00:00.000"  
                        ModifiedDate="2004-01-01 00:00:00.000" />  
       <HumanResources.Shift ShiftID="5"  
                        Name="Evening-Night"  
                        StartTime="1900-01-01 19:00:00.000"  
                        EndTime="1900-01-01 03:00:00.000"  
                        ModifiedDate="2004-01-01 00:00:00.000" />  
  </updg:before>  
  <updg:after>  
  </updg:after>  
</updg:sync>  
</ROOT>  
updategram을 테스트하려면
  1. XML Updategram을 사용하여 데이터 삽입(SQLXML 4.0)의 전체 예제 B("updategram을 사용하여 여러 레코드 삽입").

  2. 위의 updategram을 메모장에 복사하고 XML Updategrams를 사용하여 데이터 삽입(SQLXML 4.0)에서 완료하는 데 사용된 것과 동일한 폴더("updategram을 사용하여 여러 레코드 삽입")Updategram-RemoveShifts.xml 저장합니다.

  3. SQLXML 4.0 테스트 스크립트(Sqlxml4test.vbs)를 만들고 사용하여 updategram을 실행합니다.

    자세한 내용은 ADO를 사용한 SQLXML 4.0 쿼리를 실행합니다.

참고 항목

Updategram 보안 고려 사항(SQLXML 4.0)