Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Database
Updategramy jsou šablony; Proto jim můžete předat parametry. Pro více informací o předávání parametrů do šablon viz Updategram Security Considerations (SQLXML 4.0).
Updategramy umožňují předat NULL jako hodnotu parametru. Pro předání hodnoty parametru NULL určujete atribut nullvalue . Hodnota, která je přiřazena atributu nullvalue , je pak uvedena jako hodnota parametru. Updategramy tuto hodnotu považují za NULL.
Poznámka:
V <sql:header> a <updg:header> byste měli zadat nullvalue jako unqualified; zatímco v <updg:sync> určujete nullvalue jako kvalifikovaný (například updg:nullvalue).
Examples
Pokud chcete vytvořit pracovní ukázky pomocí následujících příkladů, musíte splňovat požadavky uvedené v části Požadavky pro spouštění příkladů SQLXML.
Před použitím příkladů updategramů si všimněte následujícího:
- Příklady používají výchozí mapování (to znamená, že v updategramu není specifikováno žádné mapovací schéma). Další příklady aktualizačních diagramů, které používají schémata mapování, najdete v tématu Určení schématu mapování s poznámkami v aktualgramu (SQLXML 4.0).
A. Předávání parametrů do updategramu
V tomto příkladu aktualizační gram změní příjmení zaměstnance v tabulce HumanResources.Shift. Updategram je předáván dvěma parametrům: ShiftID, které slouží k jednoznačné identifikaci posunu, a 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>
Pro testování updategramu
Zkopírujte výše uvedený updategram do Notepadu a uložte ho do souboru jako UpdategramWithParameters.xml.
Připravte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) v Používání ADO pro provádění SQLXML 4.0 dotazů pro spuštění updategramu přidáním následujících řádků za :
cmd.Properties("Output Stream").Value = outStreamcmd.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. Předání hodnoty NULL jako parametru do updategramu
Při provádění updategramu je hodnota "isnull" přiřazena parametru, který chcete nastavit na NULL. Updategram převede hodnotu parametru "isnulll" na NULL a podle toho ji zpracuje.
Následující aktualizační gram nastavuje zaměstnanecký titul na 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>
Pro testování updategramu
Zkopírujte výše uvedený updategram do Notepadu a uložte ho do souboru jako UpdategramPassingNullvalues.xml.
Připravte testovací skript SQLXML 4.0 (Sqlxml4test.vbs) v Používání ADO pro provádění SQLXML 4.0 dotazů pro spuštění updategramu přidáním následujících řádků za :
cmd.Properties("Output Stream").Value = outStreamcmd.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)