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
Umožňuje minimálně zaznamenávané, interaktivní aktualizace existujícíhotextu, ntextu nebo obrázkového sloupce. WRITETEXT přepisuje všechna existující data ve sloupci, kterého se týká. WRITETEXT nelze použít na textové,ntextové a obrazové sloupce ve zobrazeních.
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
WRITETEXT [BULK]
{ table.column text_ptr }
[ WITH LOG ] { data }
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.column
Je název tabulky a text, ntext nebo sloupce obrazu , který se aktualizuje. Názvy tabulek a sloupců musí splňovat pravidla pro identifikátory. Zadání názvu databáze a jmen vlastníků je volitelné.
text_ptr
Je hodnota, která ukládá ukazatel na text,ntext nebo obrazová data.
text_ptr musí být binární(16). Pro vytvoření textového ukazatele proveďte INSERT příkaz or UPDATE s daty, která nejsou null pro sloupec text,ntext nebo obraz.
S LOG
SQL Server to ignoroval. Logování je určeno modelem obnovy, který je v databázi platný.
data
Je to skutečný text, ntextnebo obrazová data, která se ukládají?
Data mohou být doslovná nebo parametr. Maximální délka textu, kterou lze interaktivně vložit pomocí WRITETEXT, je přibližně 120 KB pro text,ntext a obrazová data.
Remarks
Použijte WRITETEXT k nahrazení textových,ntextových a obrazových dat a UPDATETEXT pro úpravu textu, ntextua obrazových dat. UPDATETEXT je flexibilnější, protože mění pouze část textu,ntext nebo obrázkového sloupce místo celého sloupce.
Pro nejlepší výkon doporučujeme vkládat nebo aktualizovattextová, ntextová a obrazová data ve velikosti bloků, které jsou násobky 8040 bajtů.
Pokud je model obnovy databáze jednoduchý nebo hromadně logovaný, textové,ntextové a obrazové operace využívající WRITETEXT jsou minimálně zaznamenávány při vkládání nebo přidávání nových dat.
Note
Minimální logování se nepoužívá při aktualizaci stávajících hodnot.
Aby WRITETEXT správně fungoval, musí sloupec již obsahovat platný textový ukazatel.
Pokud tabulka nemá text v řádku, SQL Server šetří místo tím, že neinicializuje textové sloupce, když jsou explicitní nebo implicitní nulové hodnoty přidány do textových sloupců s INSERT, a pro takové nuly nelze získat žádný textový ukazatel. Pro inicializaci textových sloupců na NULL použijte UPDATE příkaz. Pokud má tabulka text v řádku, nemusíte inicializovat textový sloupec pro nulls a vždy můžete získat textový ukazatel.
Funkce ODBC SQLPutData je rychlejší a využívá méně dynamické paměti než WRITETEXT. Tato funkce může vložit až 2 gigabajty textu, ntextunebo obrazových dat.
V SQL Server mohou existovat textové ukazovky 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).
Permissions
Vyžaduje UPDATE povolení na zadanou tabulku. Povolení je přenositelné při UPDATE převodu povolení.
Examples
Následující příklad vloží textový ukazatel do lokální proměnné @ptrval, a poté WRITETEXT nový textový řetězec umístí do řádku označeného .@ptrval
Note
Pro spuštění tohoto příkladu musíte nainstalovat databázi vzorků publikací.
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'
WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) has just released another top ten publication. With the latest publication this makes NMB the hottest new publisher of the year!';
GO
ALTER DATABASE pubs SET RECOVERY SIMPLE;
GO
Viz také
Datové typy (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
DELETE (Transact-SQL)
SELECT (Transact-SQL)
SET Příkazy (Transact-SQL)
AKTUALIZAČNÍ TEXT (Transact-SQL)