Transmitindo parâmetros a diagramas de atualização (SQLXML 4.0)
Diagramas de atualização são modelos. Por isso, é possível passar parâmetros para eles. Para obter mais informações sobre como passar parâmetros para modelos, consulte Considerações sobre segurança para diagramas de atualização (SQLXML 4.0).
Diagramas de atualização permitem passar NULL como um valor de parâmetro. Para passar o valor de parâmetro NULL, você especifica o atributo nullvalue. O valor atribuído ao atributo nullvalue é fornecido como sendo o valor do parâmetro. Diagramas de atualização tratam esse valor como NULL.
Observação |
---|
Em <sql:header> e <updg:header>, você deve especificar nullvalue como não qualificado; enquanto isso, já em <updg:sync>, você especifica o nullvalue como qualificado (por exemplo, updg:nullvalue). |
Exemplos
Para criar exemplos de funcionamento com base nos exemplos a seguir, você deve atender aos requisitos especificados em Requisitos para executar exemplos do SQLXML.
Antes de usar os exemplos de diagrama de atualização, observe o seguinte:
Os exemplos usam mapeamento padrão (quer dizer, nenhum esquema de mapeamento é especificado no diagrama de atualização). Para obter mais exemplos de diagramas de atualização que usam esquemas de mapeamento, consulte Especificando um esquema de mapeamento anotado em um diagrama de atualização (SQLXML 4.0).
As atualizações são aplicadas às tabelas do banco de dados AdventureWorks. É possível restaurar o banco de dados AdventureWorks. Para obter mais informações, consulte Bancos de dados de exemplo AdventureWorks.
A. Passando parâmetros para um diagrama de atualização
Neste exemplo, o diagrama de atualização altera o sobrenome de um funcionário na tabela HumanResources.Shift. O diagrama de atualização é passado com dois parâmetros: ShiftID, usado para identificar exclusivamente uma troca 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>
Para testar o diagrama de atualização
Copie o diagrama de atualização acima no Bloco de Notas e salve-o em um arquivo como UpdategramWithParameters.xml.
Crie e use o script de teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o diagrama de atualização.
Para obter mais informações, consulte Usando o ADO para executar consultas do SQLXML 4.0.
B. Passando NULL como um valor de parâmetro para um diagrama de atualização
Na execução de um diagrama de atualização, o valor "isnull" é atribuído ao parâmetro que você deseja definir como NULL. O diagrama de atualização converte o valor do parâmetro "isnulll" em NULL e o processa de acordo.
O seguinte diagrama de atualização define um cargo de funcionário como 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 testar o diagrama de atualização
Copie o diagrama de atualização acima no Bloco de Notas e salve-o em um arquivo como UpdategramPassingNullvalues.xml.
Crie e use o script de teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o diagrama de atualização.
Para obter mais informações, consulte Usando o ADO para executar consultas do SQLXML 4.0.