XML updategram을 사용할 때는 다음 사항을 기억하세요.
블록 앞>과 뒤의< 한 쌍만 있는 삽입 작업에 updategram을 사용하는 경우 이전> 블록을 생략할 수< 있습니다.>< 반대로 삭제 작업의 <경우 after> 블록을 생략할 수 있습니다.
동기화> 태그에서 블록 앞과 뒤의 여러 블록이 있는< updategram을 사용하는 경우 블록 앞>과 뒤의 블록이 쌍 전후에 형성되도록 지정해야 합니다.<<><><><><>
updategram의 업데이트는 XML 스키마에서 제공하는 XML 보기에 적용됩니다. 따라서 기본 매핑이 성공하려면 updategram에서 스키마 파일 이름을 지정하거나 파일 이름이 제공되지 않으면 요소 및 특성 이름이 데이터베이스의 테이블 및 열 이름과 일치해야 합니다.
SQLXML 4.0에서는 자식 요소에 대한 XML 뷰를 구성하기 위해 제공된 스키마(XDR 또는 XSD)에서 updategram의 모든 열 값을 명시적으로 매핑해야 합니다. 이 동작은 이전 버전의 SQLXML과 다르며, 주석에서 외래 키
sql:relationship의 일부로 암시된 경우 스키마에 매핑되지 않은 열에 대한 값을 허용했습니다. (이 변경 내용은 자식 요소에 대해 명시적으로 지정된 값이 없는 경우 SQLXML 4.0에 대해 계속 발생하는 자식 요소에 대한 기본 키 값 전파에는 영향을 주지 않습니다.updategram을 사용하여 이진 열(예: SQL Server 데이터 형식)의 데이터를 수정하는 경우 SQL Server
image데이터 형식(예: )과 XML 데이터 형식(예sql:datatype="image"dt:type="binhex": 또는dt:type="binbase64)을 지정해야 하는 매핑 스키마를 제공해야 합니다. 이진 열에 대한 데이터는 updategram에 지정해야 합니다.sql:url-encode매핑 스키마에 지정된 주석은 updategram에서 무시됩니다.XSD 스키마를 작성할 때 지정한 값이나
sql:field주석에sql:relation공백 문자(예: "주문 세부 정보" 테이블 이름)와 같은 특수 문자가 포함된 경우 이 값은 대괄호(예: "[Order Details]")로 묶어야 합니다.updategram을 사용하는 경우 체인 관계는 지원되지 않습니다. 예를 들어 테이블 A와 C가 테이블 B를 사용하는 체인 관계를 통해 관련된 경우 updategram을 실행하고 실행하려고 할 때 다음 오류가 발생합니다.
There is an inconsistency in the schema provided.스키마와 updategram이 모두 올바르고 유효한 형식이더라도 체인 관계가 있는 경우 이 오류가 발생합니다.
Updategram은 업데이트 중에 형식 데이터를 매개 변수로 전달하는
image것을 허용하지 않습니다.BLOB(Binary Large Object) 형식
text/ntext은 동시성 제어에 <> 사용하기 위해 포함되므로 updategram을 사용할 때 이전 블록에서 이미지를 사용하면 안 됩니다. 이로 인해 BLOB 형식 비교에 대한 제한 사항으로 인해 SQL Server에 문제가 발생할 수 있습니다. 예를 들어 LIKE 키워드는 데이터 형식의text열 간 비교를 위해 WHERE 절에 사용되지만 데이터 크기가 8K보다 큰 BLOB 형식의 경우 비교가 실패합니다.데이터의 특수 문자는
ntextBLOB 형식 비교에 대한 제한 사항으로 인해 SQLXML 4.0에 문제가 발생할 수 있습니다. 예를 들어 형식 열의 동시성 검사에 <사용되는 경우 updategram의 이전> 블록에서 "[Serializable]"을 사용하는 것은ntext다음 SQLOLEDB 오류 설명과 함께 실패합니다.Empty update, no updatable rows found Transaction aborted