Passaggio di parametri agli updategram (SQLXML 4.0)

Si applica a: SQL Server database SQL di Azure

Gli updategram sono modelli e in quanto tali è possibile passare loro parametri. Per altre informazioni sul passaggio di parametri ai modelli, vedere Considerazioni sulla sicurezza di Updategram (SQLXML 4.0).

Gli updategram consentono di passare NULL come valore di parametro. Per passare il valore del parametro NULL, specificare l'attributo nullvalue . Il valore assegnato all'attributo nullvalue viene quindi fornito come valore del parametro. e considerato come NULL dagli updategram.

Nota

In sql:header e <updg:header>> è necessario specificare il valore null come non qualificato; mentre, in <updg:sync>, si specifica il valore null come qualificato,ad esempio updg:nullvalue.<

Esempi

Per creare esempi funzionanti usando gli esempi seguenti, è necessario soddisfare i requisiti specificati in Requisiti per l'esecuzione di esempi SQLXML.

Prima di utilizzare gli esempi dell'updategram, si tenga presente quanto segue:

R. Passaggio di parametri a un updategram

In questo esempio l'updategram modifica il cognome di un dipendente nella tabella HumanResources.Shift. All'updategram vengono passati due parametri: ShiftID, utilizzato per identificare in modo univoco un turno, e 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>  
Per testare l'updategram
  1. Copiare l'updategram sopra indicato in Blocco note e salvarlo in un file con il nome UpdategramWithParameters.xml.

  2. Preparare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) in Uso di ADO per eseguire query SQLXML 4.0 per eseguire l'updategram aggiungendo le righe seguenti dopo cmd.Properties("Output Stream").Value = outStream:

    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. Passaggio di NULL come valore di parametro a un updategram

Durante l'esecuzione di un updategram, il valore "isnull" viene assegnato al parametro che si desidera impostare su NULL. L'updategram converte il valore di parametro "isnull" in NULL e lo elabora di conseguenza.

Nell'updategram seguente la qualifica di un dipendente viene impostata su 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>  
Per testare l'updategram
  1. Copiare l'updategram sopra indicato in Blocco note e salvarlo in un file con il nome UpdategramPassingNullvalues.xml.

  2. Preparare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) in Uso di ADO per eseguire query SQLXML 4.0 per eseguire l'updategram aggiungendo le righe seguenti dopo cmd.Properties("Output Stream").Value = outStream:

    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)  
    

Vedi anche

Considerazioni sulla sicurezza degli updategram (SQLXML 4.0)