Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Updategrammen zijn sjablonen; Daarom kun je ze parameters geven. Voor meer informatie over het doorgeven van parameters aan sjablonen, zie Updategram Security Considerations (SQLXML 4.0).
Updategrams laten je NULL als parameterwaarde doorgeven. Om de NULL-parameter door te geven, specificeer je het nullwaarde-attribuut. De waarde die aan het nullwaarde-attribuut wordt toegewezen, wordt vervolgens als parameterwaarde gegeven. Updategrams behandelen deze waarde als NULL.
Opmerking
In <sql:header> en <updg:header> moet je de nullwaarde als niet-gekwalificeerd specificeren; terwijl je in <updg:sync> de nullwaarde als gekwalificeerd specificeert (bijvoorbeeld updg:nullvalue).
Voorbeelden
Als u werkvoorbeelden wilt maken met behulp van de volgende voorbeelden, moet u voldoen aan de vereisten die zijn opgegeven in Vereisten voor het uitvoeren van SQLXML-voorbeelden.
Voordat je de voorbeelden van het updategram gebruikt, let op het volgende:
- De voorbeelden gebruiken standaardmapping (dat wil zeggen, er wordt geen mappingschema gespecificeerd in het updategram). Zie Een geannoteerd toewijzingsschema opgeven in een Updategram (SQLXML 4.0) voor meer voorbeelden van updategrammen die toewijzingsschema's gebruiken.
Eén. Parameters doorgeven aan een updategram
In dit voorbeeld verandert het updategram de achternaam van een werknemer in de HumanResources.Shift-tabel. Het updategram krijgt twee parameters: ShiftID, dat wordt gebruikt om een shift uniek te identificeren, en 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>
Om het updategram te testen
Kopieer het bovenstaande updategram naar Notepad en sla het op als UpdategramWithParameters.xml.
Bereid het SQLXML 4.0 testscript voor (Sqlxml4test.vbs) in Using ADO to execute SQLXML 4.0 Queries om het updategram uit te voeren door de volgende regels toe te voegen na 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. NULL als parameterwaarde doorgeven aan een updategram
Bij het uitvoeren van een updategram wordt de waarde "isnull" toegewezen aan de parameter die je op NULL wilt zetten. Updategram zet de "isnulll" parameterwaarde om in NULL en verwerkt deze dienovereenkomstig.
Het volgende updategram zet een werknemerstitel op 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>
Om het updategram te testen
Kopieer het bovenstaande updategram naar Notepad en sla het op als UpdategramPassingNullvalues.xml.
Bereid het SQLXML 4.0 testscript voor (Sqlxml4test.vbs) in Using ADO to execute SQLXML 4.0 Queries om het updategram uit te voeren door de volgende regels toe te voegen na 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)