將參數傳遞至 Updategram (SQLXML 4.0)

適用於:SQL ServerAzure SQL 資料庫

Updategram 是範本;因此,您可以傳遞參數。 如需將參數傳遞至範本的詳細資訊,請參閱 Updategram 安全性考慮 (SQLXML 4.0)

Updategram 可讓您傳遞 NULL 做為參數值。 若要傳遞 NULL 參數值,您可以指定 nullvalue 屬性。 指派給 nullvalue 屬性的值接著會以參數值的形式提供。 Updategram 會將此值視為 NULL。

注意

sql:header 和 <updg:header>> 中,您應該將 null 值指定為不限定值;而在< updg:sync> 中,您會將 null 值指定為限定值(例如 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 查詢以執行 updategram 中準備 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs),方法是在 之後cmd.Properties("Output Stream").Value = outStream新增下列幾行來執行 updategram:

    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 時,會將 「isull」 值指派給您想要設定為 NULL 的參數。 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 查詢以執行 updategram 中準備 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs),方法是在 之後cmd.Properties("Output Stream").Value = outStream新增下列幾行來執行 updategram:

    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)