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í na:SQL ServerAzure
SQL Managed Instance
Aktualizuje existující textové,ntextové nebo obrazové pole. Použijte UPDATETEXT k změně pouze části textu,ntextu nebo sloupce obrázku na místě. Použijte WRITETEXT k aktualizaci a nahrazení celého textu, ntextu nebo obrázkového pole.
Důležité
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Použijte datové typy s velkými hodnotami a . Místo toho klauzuli WRITE ve výroku UPDATE .
Syntax
UPDATETEXT [BULK] { table_name.dest_column_name dest_text_ptr }
{ NULL | insert_offset }
{ NULL | delete_length }
[ WITH LOG ]
[ inserted_data
| { table_name.src_column_name src_text_ptr } ]
Arguments
MNOŽSTVÍ
Umožňuje nástroje pro nahrávání nahrát binární datový tok. Stream musí být poskytován nástrojem na úrovni protokolu TDS. Když datový tok není přítomen, procesor dotazů ignoruje možnost BULK.
Důležité
Doporučujeme, aby se volba BULK nepoužívala v aplikacích založených na SQL Server. Tato možnost může být změněna nebo odstraněna v budoucí verzi SQL Server.
table_name.dest_column_name
Je název tabulky a sloupce text, ntext nebo obrázek , který má být aktualizován. Názvy tabulek a sloupců musí splňovat pravidla pro identifikátory. Zadání názvu databáze a jmen vlastníků je volitelné.
dest_text_ptr
Je to hodnota ukazatele na text (vrácená funkcí TEXTPTR), která ukazuje na textová,ntextová nebo obrazová data, která mají být aktualizována.
dest_text_ptr musí být binární(16).
insert_offset
Je výchozí pozice na nule pro aktualizaci. U textovýchnebo obrazových sloupců je insert_offset počet bajtů, které je třeba přeskočit od začátku existujícího sloupce před vložením nových dat.
Pro ntextové sloupce je insert_offsetpočet znaků (každý ntext znak zabírá 2 bajty).
Stávajícítextová, ntextová nebo obrazová data začínající na této nulové výchozí pozici jsou posunuta doprava, aby se uvolnilo místo pro nová data. Hodnota 0 vkládá nová data na začátek stávajících dat. Hodnota NULL přidává nová data k existující datové hodnotě.
delete_length
Je délka dat, která je třeba smazat zexistujícího textu, ntext nebo obrázkového sloupce, počínaje insert_offset pozicí. Hodnota delete_lengthje určena v bajtech pro textovéa obrazové sloupce a v znacích pro ntextové sloupce. Každý znak ntext spotřebovává 2 bajty. Hodnota 0 nemaže žádná data. Hodnota NULL smaže všechna data od pozice insert_offset až na konec stávajícího textového nebo obrazového sloupce.
S LOG
Logování je určeno modelem obnovy, který je v databázi platný.
inserted_data
Jsou data, která mají být vložena do stávajícího textu, ntextu nebo sloupce obrázku na insert_offset místě. Jedná se o jednu hodnotu char, nchar, varchar, nvarchar, binární, varbinární, text, ntext nebo obraz .
inserted_data může být doslovná nebo proměnná.
table_name.src_column_name
Je název tabulky a textu, ntextu nebo sloupce obrázku , který slouží jako zdroj vložených dat. Názvy tabulek a sloupců musí splňovat pravidla pro identifikátory.
src_text_ptr
Je to hodnota ukazatele na text (vrácená funkcí TEXTPTR), která ukazuje na sloupec textu, ntext nebo obrázku používaný jako zdroj vložených dat.
Note
scr_text_ptr hodnota nesmí být stejná jako dest_text_ptrhodnota.
Remarks
Nově vložená data mohou být jedna inserted_data konstanta, název tabulky, název sloupce nebo textový ukazatel.
| Akce aktualizace | Parametry UPDATETEXT |
|---|---|
| Nahrazení existujících dat | Specifikujte hodnotu nenulového insert_offset , nenulovou hodnotu delete_length a nová data, která mají být vložena. |
| Smazat existující data | Zadejte nenulovou hodnotu insert_offset a nenulovou delete_length. Nespecifikujte nová data, která mají být vložena. |
| Pro vložení nových dat | Zadejte hodnotu insert_offset , delete_length 0 a nová data, která mají být vložena. |
Pro nejlepší výkon doporučujeme vkládat nebo aktualizovat textová, ntextová a obrazová data ve velikostech bloků, které jsou násobky 8 040 bajtů.
V SQL Server mohou existovat textové ukazatele v řádku na text,ntext nebo obrazová data, ale nemusí být platné. Pro informace o možnosti text in row viz sp_tableoption (Transact-SQL). Pro informace o zneplatňování textových ukazatelů viz sp_invalidate_textptr (Transact-SQL).
Pro inicializaci textových sloupců do NULL použijte WRITETEXT; UPDATETEXT inicializuje textové sloupce na prázdný řetězec.
Permissions
Vyžaduje UPDATE povolení na zadanou tabulku.
Examples
Následující příklad vloží textový ukazatel do lokální proměnné @ptrval, a poté ho použije UPDATETEXT k aktualizaci pravopisné chyby.
Note
Pro spuštění tohoto příkladu musíte nainstalovat databázi pubs.
USE pubs;
GO
ALTER DATABASE pubs SET RECOVERY SIMPLE;
GO
DECLARE @ptrval BINARY(16);
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id
AND p.pub_name = 'New Moon Books'
UPDATETEXT pub_info.pr_info @ptrval 88 1 'b';
GO
ALTER DATABASE pubs SET RECOVERY FULL;
GO
Viz také
ČTITEXT (Transact-SQL)
TEXTPTR (Transact-SQL)
WRITETEXT (Transact-SQL)