UPDATETEXT (Transact-SQL)
Aktualizuje istniejące text, ntext, lub image pole.Zmienić tylko część za pomocą UPDATETEXT text, ntext, lub image kolumna w miejscu.Aktualizować i zastąpić całości za pomocą WRITETEXT text, ntext, lub image pole.
Ważne: |
---|
Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Typy danych dużą wartość i .Zapisu klauzula Aktualizacja instrukcja w zamian. |
Składnia
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 } ]
Argumenty
LUZEM
Umożliwia przekazywanie narzędzia do przekazywania strumienia danych binarnych.Strumień musi posiadać przez narzędzie naprotokół TDSpoziom. Gdy nie ma strumienia danych procesor kwerend ignoruje opcję luzem.Ważne: Zaleca się opcja luzem nie być stosowane w SQL Server-na podstawie wniosków.Ta opcja może być zmienione lub usunięte w przyszłej wersja programu SQL Server.
table_name**.**dest_column_name
Jest to nazwa tabela i text, ntext, lub image kolumna mają być aktualizowane.Nazwy tabel i nazwy kolumna muszą być zgodne z zasadami identyfikatorów.Określanie nazwy bazy danych i nazwy właściciela jest opcjonalne.dest_text_ptr
Wskaźnik tekstu jest wartość (zwracane przez funkcjaTEXTPTR), która wskazuje na text, ntext, lub image dane, które mają zostać zaktualizowane.dest_text_ptrmust be binary(16).insert_offset
To od zera pozycji początkowej dla aktualizacji.Dla text lub image kolumny, insert_offset jest liczbą bajtów pominąć od początku istniejącej kolumna przed wstawieniem nowych danych.Dla ntext kolumny, insert_offsetjest liczbą znaków (każdy ntext znak wykorzystuje 2 bajty).Istniejące text, ntext, lub image dane począwszy od tej pozycji początkowej od zera jest przesunięte w prawo, aby zwolnić miejsce dla nowych danych.Wartość 0 nowe dane są wstawiane na początku istniejących danych.Wartość NULL dołącza nowe dane do istniejących wartości danych.delete_length
Długość danych do usunięcia z istniejącego text, ntext, lub image kolumna, począwszy od insert_offset pozycji.delete_lengthWartość jest określona w bajtach dla text i image kolumn w znaki ntext kolumny.Każdy ntext używa znaku 2 bajtów.Wartość 0 usunie żadnych danych.Wartość NULL powoduje usunięcie wszystkich danych z insert_offset pozycji na końcu istniejącej text lub image kolumna.Z DZIENNIKIEM
Rejestrowanie zależy od modelu odzyskiwanie dotyczące bazy danych.inserted_data
Dane do istniejących text, ntext, lub image kolumna w insert_offset lokalizacji.This is a single char, nchar, varchar, nvarchar, binary, varbinary, text, ntext, or image value.inserted_datamoże być literałem lub zmiennej.table_name.src_column_name
Jest to nazwa tabela i text, ntext, lub image kolumna używana jako źródło wstawionego danych.Nazwy tabel i nazwy kolumna muszą być zgodne z zasadami identyfikatorów.src_text_ptr
Wskaźnik tekstu jest wartość (zwracane przez funkcjaTEXTPTR), która wskazuje na text, ntext, lub image kolumna używana jako źródło wstawionego danych.Ostrzeżenie
scr_text_ptrwartość nie może być taka sama, jak dest_text_ptrwartości.
Uwagi
Nowo wstawiony dane mogą być pojedyncze inserted_data stała, nazwa tabela nazwa kolumna lub wskaźnik tekstu.
Zaktualizować akcja |
Parametry UPDATETEXT |
---|---|
Aby zamienić istniejące dane |
Określ nonnull insert_offset wartość, różną od zera, delete_length wartość i nowych danych do wstawienia. |
Aby usunąć istniejące dane |
Określ nonnull insert_offset wartość i niezerową delete_length.Nie można określić nowe dane do wstawienia. |
Aby wstawić nowe dane |
Określ insert_offset wartości, delete_length 0 i nowych danych do wstawienia. |
Aby uzyskać najlepszą wydajność zaleca się, że text, ntext i image danych jest wstawiany lub aktualizowany w rozmiarach fragmentów, które są wielokrotności z 8,040 bajtów.
W SQL Server, w wierszu tekstu wskaźniki do text, ntext, lub image danych może istnieć, ale może być nieprawidłowy.Aby uzyskać informacje o text in row opcji, zobacz sp_tableoption (języka Transact-SQL).Aby uzyskać informacje dotyczące unieważnienia wskaźniki tekstu, zobacz sp_invalidate_textptr (języka Transact-SQL).
Aby zainicjować text kolumny mają wartość NULL, przy UPDATETEXT poziom zgodności jest równa 65.Jeśli poziom zgodności jest równy 70, użyj WRITETEXT zainicjować tekst kolumny Null; w przeciwnym razie inicjuje UPDATETEXT text kolumny na pusty ciąg.Aby uzyskać informacje dotyczące ustawiania poziomzgodności, zobacz sp_dbcmptlevel (języka Transact-SQL).
Uprawnienia
Wymaga aktualizacji uprawnienie dla określonej tabela.
Przykłady
Poniższy przykład powoduje umieszczenie tekstu wskaźnik w zmiennej lokalnej @ptrval, a następnie używa UPDATETEXT Aktualizacja błąd pisowni.
Ostrzeżenie
Aby uruchomić ten przykład, należy zainstalować pubs bazy danych.Aby uzyskać informacje dotyczące sposobu instalowania pubs bazy danych, zobacz Pobieranie Northwind i pubs przykładowe bazy danych.
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
Zobacz także