다음을 통해 공유


sql:identity 및 sql:guid 주석 사용

적용 대상: SQL ServerAzure SQL Database

Microsoft SQL Server의 데이터베이스 열에 매핑되는 모든 노드의 XSD 스키마에서 sql:identitysql:guid 주석을 지정할 수 있습니다. updategram 형식은 updg:at-identityupdg:guid 특성을 지원하는 반면 DiffGram 형식은 지원하지 않습니다. updg:at-identity 특성은 IDENTITY 형식 열을 업데이트하는 동작을 정의합니다. updg:guid 특성을 사용하면 SQL Server에서 GUID 값을 가져와 updategram에서 사용할 수 있습니다. 자세한 내용 및 작업 샘플은 XML 업데이트그램을 사용하여 데이터 삽입(SQLXML 4.0)을 참조하세요.

sql:identitysql:guid 주석은 이 기능을 DiffGrams로 확장합니다.

DiffGram을 실행하면 먼저 updategram으로 변환된 다음 updategram이 실행됩니다. XSD 스키마에서 sql:identitysql:guid 주석을 지정하면 실제로 updategram의 동작을 정의하게 됩니다. 따라서 모든 주석은 updategram의 컨텍스트에서 설명됩니다. 주석은 DiffGram 및 updategram 모두에 사용할 수 있습니다. 그러나 updategram은 이미 ID 및 GUID 값을 처리하는 보다 강력한 방법을 제공합니다.

sql:identitysql:guid 주석은 복잡한 콘텐츠 요소에 정의할 수 있습니다.

sql:identity 주석

IDENTITY 형식 데이터베이스 열에 매핑되는 모든 노드의 XSD 스키마에서 sql:identity 주석을 지정할 수 있습니다. 이 주석에 지정된 값은 IDENTITY 형식 열이 업데이트되는 방식을 정의합니다(updategram에 제공된 값을 사용하여 열을 수정하거나 값을 무시하여 이 열에 SQL Server 생성 값이 사용됩니다).

sql:identity 주석에는 다음 두 값을 할당할 수 있습니다.

ignore
updategram이 해당 열의 updategram에 제공된 모든 값을 무시하고 SQL Server를 사용하여 ID 값을 생성하도록 지시합니다.

useValue
updategram에 제공된 값을 사용하여 IDENTITY 형식 열을 업데이트하도록 updategram에 지시합니다. updategram은 열이 ID 값인지 여부를 확인하지 않습니다.

updategram이 IDENTITY 형식 열에 대한 값을 지정하는 경우 스키마에 sql:identity="useValue" 를 지정해야 합니다.

sql:guid 주석

updategram은 SQL Server가 GUID 값을 생성한 다음 updategram에서 이 값을 사용하도록 할 수 있습니다. DiffGrams의 컨텍스트에서 sql:guid 주석을 사용하여 SQL Server에서 생성된 GUID 값을 사용할지 또는 해당 열의 updategram에 제공된 값을 사용할지 여부를 지정할 수 있습니다.

sql:guid 주석에는 다음 두 값을 할당할 수 있습니다.

generate
업데이트 작업에서 SQL Server에서 생성된 GUID를 해당 열에 사용되도록 지정합니다.

useValue
updategram에 지정된 값을 열에 사용되도록 지정합니다. 기본값입니다.