Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Werkt een bestaand tekst-, ntext- of afbeeldingsveld bij. Gebruik UPDATETEXT om slechts een deel van een tekst-, ntext- of afbeeldingskolom op zijn plaats te zetten. Gebruik WRITETEXT om een volledig tekstveld, ntext- of afbeeldingsveld bij te werken en te vervangen.
Belangrijk
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Gebruik de datatypes met grote waarde en de . WRITE-clausule van de instructie in plaats UPDATE daarvan.
Transact-SQL syntaxis-conventies
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
OMVANG
Maakt uploadtools mogelijk om een binaire datastroom te uploaden. De stroom moet door de tool worden geleverd op het niveau van het TDS-protocol. Wanneer de datastroom niet aanwezig is, negeert de queryprocessor de BULK-optie.
Belangrijk
Wij raden aan dat de BULK-optie niet wordt gebruikt in applicaties op SQL Server. Deze optie kan worden gewijzigd of verwijderd in een toekomstige versie van SQL Server.
table_name.dest_column_name
Is de naam van de tabel en de kolom tekst of afbeelding die bijgewerkt moet worden? Tabelnamen en kolomnamen moeten voldoen aan de regels voor identificaties. Het specificeren van de databasenaam en eigenaarnamen is optioneel.
dest_text_ptr
Is een tekstpointerwaarde (teruggegeven door de TEXTPTR-functie) die wijst naar de tekst-, ntext- of afbeeldingsgegevens die bijgewerkt moeten worden.
dest_text_ptr moet binair zijn(16).
insert_offset
Is de nul-gebaseerde startpositie voor de update. Voor tekst- of afbeeldingskolommen is insert_offset het aantal bytes dat vanaf het begin van de bestaande kolom moet worden overgeslagen voordat nieuwe gegevens worden ingevoegd. Voor ntext-kolommen is insert_offsethet aantal tekens (elk ntext-teken gebruikt 2 bytes). De bestaande tekst-, ntext- of afbeeldingsgegevens die beginnen op deze nul-gebaseerde startpositie worden naar rechts verschoven om ruimte te maken voor de nieuwe data. Een waarde van 0 voegt de nieuwe data in aan het begin van de bestaande data. Een waarde van NULL voegt de nieuwe data toe aan de bestaande datawaarde.
delete_length
Is de lengte van gegevens die verwijderd moeten worden uit de bestaande tekst-, ntext- of afbeeldingskolom , beginnend bij de insert_offset positie. De delete_length-waardewordt gespecificeerd in bytes voor tekst- en afbeeldingskolommen en in tekens voor ntext-kolommen . Elk ntext-teken gebruikt 2 bytes. Een waarde van 0 verwijdert geen data. Een waarde van NULL verwijdert alle gegevens van de insert_offset positie tot het einde van de bestaande tekst- of afbeeldingskolom .
MET DE LOGGE
Logging wordt bepaald door het herstelmodel dat geldt voor de database.
inserted_data
Is de data die in de bestaande tekst-, ntext- of afbeeldingskolom op de insert_offset locatie moet worden ingevoegd. Dit is een enkele karakter-, nchar-, varchar-, nvarchar-, binair-, varbinair-, tekst-, ntext- of afbeeldingswaarde .
inserted_data kan letterlijk of variabel zijn.
table_name.src_kolom_naam
Is de naam van de tabel en de kolom tekst, ntext of afbeelding die als bron van de ingevoegde gegevens wordt gebruikt. Tabelnamen en kolomnamen moeten voldoen aan de regels voor identificaties.
src_text_ptr
Is een tekstpointerwaarde (teruggegeven door de TEXTPTR-functie) die verwijst naar een tekst-, ntext- of afbeeldingskolom die als bron van de ingevoegde gegevens wordt gebruikt.
Note
scr_text_ptr waarde mag niet hetzelfde zijn als dest_text_ptrwaarde.
Remarks
Nieuw ingevoegde gegevens kunnen een enkele inserted_data constante, tabelnaam, kolomnaam of tekstpointer zijn.
| Actie bijwerken | UPDATETEXT-parameters |
|---|---|
| Om bestaande data te vervangen | Specificeer een niet-nul insert_offset waarde, een niet-nul delete_length waarde en de nieuwe gegevens die worden ingevoegd. |
| Om bestaande gegevens te verwijderen | Specificeer een niet-nul insert_offset waarde en een niet-nul delete_length. Specificeer geen nieuwe gegevens die ingevoegd moeten worden. |
| Om nieuwe gegevens in te voegen | Specificeer de waarde van insert_offset , een delete_length van 0, en de nieuwe gegevens die worden ingevoegd. |
Voor de beste prestaties raden we aan om tekst-, ntext - en afbeeldingsgegevens in te voegen of bij te werken in chunk-groottes die veelvouden van 8.040 bytes zijn.
In SQL Server kunnen in-row tekstverwijzingen naar tekst, ntext of afbeeldingsgegevens bestaan, maar deze zijn mogelijk niet geldig. Voor informatie over de optie tekst in rij, zie sp_tableoption (Transact-SQL). Voor informatie over het ongeldig maken van tekstverwijzingen, zie sp_invalidate_textptr (Transact-SQL).
Om tekstkolommen te initialiseren naar NULL, gebruik je WRITETEXT; UPDATETEXT initialiseert tekstkolommen naar een lege string.
Permissions
Vereist UPDATE toestemming voor de opgegeven tabel.
Examples
Het volgende voorbeeld plaatst de tekstpointer in de lokale variabele @ptrval, en gebruikt UPDATETEXT deze vervolgens om een spelfout bij te werken.
Note
Om dit voorbeeld uit te voeren, moet je de pubs-database installeren.
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
Zie ook
READTEXT (Transact-SQL)
SMSPTR (Transact-SQL)
WRITETEXT (Transact-SQL)