sql:identity 및 sql:guid 주석 사용
XSD 스키마에서 MicrosoftSQL Server 데이터베이스 열에 매핑되는 임의의 노드에 sql:identity 및 sql:guid 주석을 지정할 수 있습니다. updategram 형식은 updg:at-identity 및 updg:guid 특성을 지원하지만 DiffGram 형식은 이러한 특성을 지원하지 않습니다. updg:at-identity 특성은 IDENTITY 형식의 열을 업데이트할 때의 동작을 정의합니다. updg:guid 특성을 사용하면 SQL Server에서 GUID 값을 가져와서 updategram에 사용할 수 있습니다. 자세한 내용 및 작업 예제는 XML Updategram을 사용하여 데이터 삽입(SQLXML 4.0)을 참조하십시오.
sql:identity 및 sql:guid 주석은 이 기능을 DiffGram으로 확장합니다.
DiffGram을 실행하면 DiffGram이 먼저 updategram으로 변환된 다음 이 updategram이 실행됩니다. XSD 스키마에서 sql:identity 및 sql:guid 주석을 지정하는 것은 updategram의 동작을 정의하는 것과 같습니다. 따라서 모든 주석이 updategram의 컨텍스트에서 기술됩니다. DiffGram과 updategram에 모두 주석을 사용할 수 있지만 이 중 updategram이 ID 및 GUID 값을 처리하는 더 강력한 방법을 제공합니다.
복합 콘텐츠 요소에 sql:identity 및 sql:guid 주석을 정의할 수 있습니다.
sql:identity 주석
XSD 스키마에서 IDENTITY 형식의 데이터베이스 열에 매핑되는 임의의 노드에 sql:identity 주석을 지정할 수 있습니다. 이 주석에 지정되는 값은 updategram에 제공된 값을 사용하여 열을 수정하거나, SQL Server에서 생성된 값이 이 열에 사용되는 경우 이 값을 무시하여 IDENTITY 형식의 열 업데이트 방법을 지정합니다.
sql:identity 주석에는 다음과 같은 두 가지 값을 할당할 수 있습니다.
ignore
해당 열에 대해 updategram에 제공된 모든 값을 무시하고 SQL Server를 통해 ID 값을 생성하도록 updategram에 지시합니다.useValue
updategram에 제공된 값을 사용하여 IDENTITY 형식의 열을 업데이트하도록 updategram에 지시합니다. updategram은 열이 ID 값인지 여부는 확인하지 않습니다.
updategram이 IDENTITY 형식의 열에 대한 값을 지정하는 경우 스키마에서 sql:identity="useValue"를 지정해야 합니다.
sql:guid 주석
updategram은 SQL Server에서 GUID 값을 생성하도록 하고 이 값을 updategram에 사용할 수 있습니다. DiffGram의 컨텍스트에서 sql:guid 주석을 사용하면 SQL Server에서 생성한 GUID 값을 사용할 것인지 또는 해당 열에 대해 updategram에 제공된 값을 사용할 것인지를 지정할 수 있습니다.
sql:guid 주석에는 다음과 같은 두 가지 값을 할당할 수 있습니다.
generate
업데이트 작업 시 해당 열에 SQL Server에서 생성한 GUID를 사용하도록 지정합니다.useValue
updategram에 지정된 값을 해당 열에 사용하도록 지정합니다. 이 값이 기본값입니다.