다음을 통해 공유


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

적용 대상: SQL ServerAzure SQL Database

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)