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
Uppdaterar ett befintligt text-, ntext- eller bildfält . Använd UPDATETEXT för att ändra endast en del av en text-, ntext- eller bildkolumn på plats. Använd WRITETEXT för att uppdatera och ersätta ett helt text-, ntext- eller bildfält .
Viktigt!
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
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
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.
Viktigt!
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_name.dest_column_name
Är namnet på tabellen och kolumnen text, ntext eller bild som ska uppdateras. Tabellnamn och kolumnnamn måste följa reglerna för identifierare. Att ange databasens namn och ägarnamn är valfritt.
dest_text_ptr
Är ett textpekarvärde (returnerat av funktionen TEXTPTR) som pekar på text-, ntext- eller bilddata som ska uppdateras.
dest_text_ptr måste vara binär(16).
insert_offset
Är noll-baserad startposition för uppdateringen. För text - eller bildkolumner är insert_offset antalet byte som ska hoppa från början av den befintliga kolumnen innan ny data infoges. För ntext-kolumner är insert_offsetantalet tecken (varje ntext-tecken använder 2 byte). Den befintliga text-, ntext- eller bilddata som börjar vid denna nollbaserade startposition flyttas åt höger för att ge plats åt den nya datan. Ett värde 0 infogar den nya datan i början av den befintliga datan. Ett värde på NULL lägger till den nya datan till det befintliga datavärdet.
delete_length
Är längden på data som ska tas bort från den befintliga text-, ntext- eller bildkolumnen , med start på insert_offset position.
Värdet delete_lengthanges i byte för text- och bildkolumner och i tecken för ntextkolumner. Varje ntext-tecken använder 2 byte. Ett värde 0 raderar ingen data. Ett värde på NULL raderar all data från den insert_offset positionen till slutet av den befintliga text - eller bildkolumnen .
MED LOGG
Loggning bestäms av återställningsmodellen som gäller för databasen.
inserted_data
Är datan som ska infogas i den befintliga text-, ntext- eller bildkolumnen på den insert_offset platsen. Detta är ett enda tecken, nchar, varchar, nvarchar, binärt, varbinärt, text-, ntext- eller bildvärde .
inserted_data kan vara bokstavligt eller variabelt.
table_name.src_kolumn_namn
Är namnet på tabellen och kolumnen text, ntext eller bild som används som källa till den infogade datan. Tabellnamn och kolumnnamn måste följa reglerna för identifierare.
src_text_ptr
Är ett textpekarvärde (returnerat av funktionen TEXTPTR) som pekar på en text-, ntext- eller bildkolumn som används som källa till den infogade datan.
Note
scr_text_ptr värde får inte vara detsamma som dest_text_ptrvärde.
Remarks
Nyinsatta data kan vara en enda inserted_data konstant, tabellnamn, kolumnnamn eller textpekare.
| Uppdatera åtgärd | UPDATETEXT-parametrar |
|---|---|
| För att ersätta befintlig data | Ange ett icke-noll insert_offset värde, ett icke-noll delete_length värde och den nya data som ska infogas. |
| För att radera befintlig data | Ange ett icke-null insert_offset värde och ett icke-noll delete_length. Specificera inte ny data som ska infogas. |
| För att infoga ny data | Ange värdet insert_offset , en delete_length 0 och den nya data som ska infogas. |
För bästa prestanda rekommenderar vi att text-, ntext - och bilddata infogas eller uppdateras i chunk-storlekar som är multiplar av 8 040 byte.
I SQL Server kan det finnas textpekare på rad 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).
För att initiera textkolumner till NULL, använd WRITETEXT; UPDATETEXT initierar textkolumner till en tom sträng.
Permissions
Kräver UPDATE behörighet på den angivna tabellen.
Examples
Följande exempel placerar textpekaren i den lokala variabeln @ptrval, och används UPDATETEXT sedan för att uppdatera ett stavfel.
Note
För att köra detta exempel måste du installera pubs-databasen.
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
Se även
READTEXT (Transact-SQL)
TEXTPTR (Transact-SQL)
WRITETEXT (Transact-SQL)