Updategram에 매개 변수 전달(SQLXML 4.0)

적용 대상: SQL Server Azure SQL 데이터베이스

Updategram은 템플릿이므로 Updategram에 매개 변수를 전달할 수 있습니다. 템플릿에 매개 변수를 전달하는 방법에 대한 자세한 내용은 Updategram 보안 고려 사항(SQLXML 4.0)을 참조하세요.

Updategram을 사용하면 NULL을 매개 변수 값으로 전달할 수 있습니다. NULL 매개 변수 값을 전달하려면 nullvalue 특성을 지정합니다. nullvalue 특성에 할당된 값은 매개 변수 값으로 제공됩니다. Updategram은 이 값을 NULL로 처리합니다.

참고

sql:header> 및 updg:header에서< nullvalue 정규화되지 않은 값으로 지정해야 합니다. 반면 updg:sync>에서는<nullvalue를 정규화된 값으로 지정합니다(예: updg:nullvalue).><

예제

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

Updategram 예를 사용하기 전에 다음 사항을 확인하십시오.

A. Updategram에 매개 변수 전달

이 예에서 Updategram은 HumanResources.Shift 테이블에 있는 직원의 성을 변경합니다. updategram은 교대 근무를 고유하게 식별하는 데 사용되는 ShiftID와 Name이라는 두 개의 매개 변수를 전달합니다.

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">  
<updg:header>  
  <updg:param name="ShiftID"/>  
  <updg:param name="Name" />  
</updg:header>  
  <updg:sync >  
    <updg:before>  
       <HumanResources.Shift ShiftID="$ShiftID" />  
    </updg:before>  
    <updg:after>  
      <HumanResources.Shift Name="$Name" />  
    </updg:after>  
  </updg:sync>  
</ROOT>  
Updategram을 테스트하려면
  1. 위의 Updategram을 메모장에 복사하고 UpdategramWithParameters.xml로 파일에 저장합니다.

  2. ADO를 사용하여 SQLXML 4.0 쿼리를 실행하여 다음에 다음 줄을 cmd.Properties("Output Stream").Value = outStream추가하여 updategram을 실행하도록 SQLXML 4.0 테스트 스크립트(Sqlxml4test.vbs)를 준비합니다.

    cmd.NamedParameters = True  
    ' CreateParameter arguments: Name, Type, Direction, Size, Value  
    cmd.Parameters.Append cmd.CreateParameter("@ShiftID",  2, 1,  0, 1)  
    cmd.Parameters.Append cmd.CreateParameter("@Name",   200, 1, 50, "New Name")  
    

B. NULL을 매개 변수 값으로 Updategram에 전달

Updategram을 실행하면 NULL로 설정할 매개 변수에 "isnull" 값이 할당됩니다. Updategram은 "isnulll" 매개 변수 값을 NULL로 변환하고 적절하게 처리합니다.

다음 Updategram에서는 직원 직함을 NULL로 설정합니다.

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">  
<updg:header nullvalue="isnull" >  
  <updg:param name="EmployeeID"/>  
  <updg:param name="ManagerID" />  
</updg:header>  
  <updg:sync >  
    <updg:before>  
       <HumanResources.Employee EmployeeID="$EmployeeID" />  
    </updg:before>  
    <updg:after>  
      <HumanResources.Employee ManagerID="$ManagerID" />  
    </updg:after>  
  </updg:sync>  
</ROOT>  
Updategram을 테스트하려면
  1. 위의 Updategram을 메모장에 복사하고 UpdategramPassingNullvalues.xml로 파일에 저장합니다.

  2. ADO를 사용하여 SQLXML 4.0 쿼리를 실행하여 다음에 다음 줄을 cmd.Properties("Output Stream").Value = outStream추가하여 updategram을 실행하도록 SQLXML 4.0 테스트 스크립트(Sqlxml4test.vbs)를 준비합니다.

    cmd.NamedParameters = True  
    ' CreateParameter arguments: Name, Type, Direction, Size, Value   
    cmd.Parameters.Append cmd.CreateParameter("@EmployeeID", 3, 1, 0, 1)  
    cmd.Parameters.Append cmd.CreateParameter("@ManagerID",  3, 1, 0, Null)  
    

참고 항목

Updategram 보안 고려 사항(SQLXML 4.0)