Compartir a través de


Pasar parámetros a diagramas de actualización (SQLXML 4.0)

Se aplica a: SQL ServerAzure SQL Database

Los diagramas de actualización son plantillas; por consiguiente, se les pueden pasar parámetros. Para obtener más información sobre cómo pasar parámetros a plantillas, vea Updategram Security Considerations (SQLXML 4.0) (Consideraciones de seguridad del diagrama de actualización [SQLXML 4.0]).

Los diagramas de actualización le permiten pasar NULL como un valor del parámetro. Para pasar el valor del parámetro NULL, especifique el atributo nullvalue . A continuación, el valor asignado al atributo nullvalue se proporciona como valor de parámetro. Los diagramas de actualización tratan este valor como NULL.

Nota:

En <sql:header> y <updg:header>, debe especificar el valor null como no calificado; mientras que, en< updg:sync>, se especifica el valor null como calificado (por ejemplo, updg:nullvalue).

Ejemplos

Para crear ejemplos de trabajo con los ejemplos siguientes, debe cumplir los requisitos especificados en Requisitos para ejecutar ejemplos de SQLXML.

Antes de usar los ejemplos del diagrama de actualización, tenga en cuenta lo siguiente:

A Pasar parámetros a un diagrama de actualización

En este ejemplo, el diagrama de actualización cambia el apellido de un empleado en la tabla HumanResources.Shift. Se pasan dos parámetros al diagrama de actualización: ShiftID, que se usa para identificar de manera única un cambio, y Nombre.

<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>  
Para probar el diagrama de actualización
  1. Copie el diagrama de actualización anterior en el Bloc de notas y guárdelo en un archivo como UpdategramWithParameters.xml.

  2. Prepare el script de prueba de SQLXML 4.0 (Sqlxml4test.vbs) en Uso de ADO para ejecutar consultas SQLXML 4.0 para ejecutar el diagrama de actualización agregando las líneas siguientes después de 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. Pasar NULL como un valor del parámetro a un diagrama de actualización

Para ejecutar un diagrama de actualización, el valor "isnull" se asigna al parámetro que se desea establecer en NULL. El diagrama de actualización convierte el valor del parámetro "isnulll" en NULL y lo procesa de forma apropiada.

El diagrama de actualización siguiente establece un puesto de empleado en 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>  
Para probar el diagrama de actualización
  1. Copie el diagrama de actualización anterior en el Bloc de notas y guárdelo en un archivo como UpdategramPassingNullvalues.xml.

  2. Prepare el script de prueba de SQLXML 4.0 (Sqlxml4test.vbs) en Uso de ADO para ejecutar consultas SQLXML 4.0 para ejecutar el diagrama de actualización agregando las líneas siguientes después de 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)  
    

Consulte también

Consideraciones de seguridad sobre los diagramas de actualización (SQLXML 4.0)