Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Tillåter minimalt loggad, interaktiv uppdatering av en befintlig text-, ntext- eller bildkolumn . WRITETEXT skriver över all befintlig data i kolumnen som påverkas. WRITETEXT kan inte användas på text-, ntext- och bildkolumner i vyer.
Important
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd de stora värdedatatyperna och . WRITE-klausulen i uttalandet UPDATE istället.
Transact-SQL syntaxkonventioner
Syntax
WRITETEXT [BULK]
{ table.column text_ptr }
[ WITH LOG ] { data }
Arguments
OMFÅNG
Möjliggör uppladdningsverktyg för att ladda upp en binär dataström. Strömmen måste tillhandahållas av verktyget på TDS-protokollnivå. När dataströmmen inte finns närvarande ignorerar frågeprocessorn BULK-alternativet.
Important
Vi rekommenderar att BULK-alternativet inte används i applikationer baserade på SQL Server. Detta alternativ kan ändras eller tas bort i en framtida version av SQL Server.
table.column
Är namnet på tabellen och texten, ntext eller bildkolumnen som ska uppdateras. Tabell- och kolumnnamn måste följa reglerna för identifierare. Att ange databasens namn och ägarnamn är valfritt.
text_ptr
Är ett värde som lagrar pekaren till text-, ntext- eller bilddata .
text_ptr måste vara binär(16). För att skapa en textpekare, kör en INSERT or-sats UPDATE med data som inte är null för kolumnen text, ntext eller bild .
MED LOGG
Ignoreras av SQL Server. Loggning bestäms av återställningsmodellen som gäller för databasen.
data
Är det den faktiska texten, ntexten eller bilddata som ska lagras.
Data kan vara en bokstavlig eller en parameter. Den maximala längden text som kan infogas interaktivt med WRITETEXT är cirka 120 KB för text-, ntext- och bilddata .
Remarks
Använd WRITETEXT för att ersätta text, ntext och bilddata och UPDATETEXT för att ändra text, ntext och bilddata . UPDATETEXT är mer flexibelt eftersom det bara ändrar en del av en text-, ntext- eller bildkolumn istället för hela kolumnen.
För bästa prestanda rekommenderar vi att text-, ntext- och bilddata infogas eller uppdateras i chunk-storlekar som är multiplar av 8040 byte.
Om databasåterställningsmodellen är enkel eller bulkloggad, är text-, ntext- och bildoperationer som använder WRITETEXT minimalt loggade operationer när ny data infogas eller läggs till.
Anmärkning
Minimal loggning används inte när befintliga värden uppdateras.
För att WRITETEXT ska fungera korrekt måste kolumnen redan innehålla en giltig textpekare.
Om tabellen inte har text i raden sparar SQL Server utrymme genom att inte initiera textkolumner när explicita eller implicita nullvärden läggs till i textkolumner med INSERT, och ingen textpekare kan erhållas för sådana nulltal. För att initiera textkolumner till NULL, använd satsen UPDATE . Om tabellen har text i rad behöver du inte initiera textkolumnen för nullpunkter och du kan alltid få en textpekare.
ODBC:s SQLPutData-funktion är snabbare och använder mindre dynamiskt minne än WRITETEXT. Denna funktion kan infoga upp till 2 gigabyte text, ntext eller bilddata .
I SQL Server kan textpekare i rad finnas till text-, ntext- eller bilddata men de kan vara ogiltiga. För information om alternativet text i rad, se sp_tableoption (Transact-SQL). För information om att ogiltigförklara textpekare, se sp_invalidate_textptr (Transact-SQL).
Permissions
Kräver UPDATE behörighet på den angivna tabellen. Tillstånd kan överföras när UPDATE tillstånd överförs.
Examples
Följande exempel placerar textpekaren i den lokala variabeln @ptrval, och placerar sedan WRITETEXT den nya textsträngen i raden som pekas på av @ptrval.
Anmärkning
För att köra detta exempel måste du installera pubs sample-databas.
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
Se även
Datatyper (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
DELETE (Transact-SQL)
SELECT (Transact-SQL)
SET Instruktioner (Transact-SQL)
UPPDATERINGSTEXT (Transact-SQL)