Udostępnij za pośrednictwem


WRITETEXT (języka Transact-SQL)

Zezwala na interaktywne, zarejestrowane minimalny zestaw aktualizacji istniejącej text, ntext, lub image Kolumna. WRITETEXT zastępuje wszystkie istniejące dane kolumna, ma ona wpływ na.Nie można używać WRITETEXT na text, ntext, a image kolumny w widokach.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Używane typy danych dużą wartość a . Klauzula zapisuAKTUALIZACJA instrukcja w zamian.

Topic link iconKonwencje składni języka Transact-SQL

WRITETEXT { table.column text_ptr }
    [ WITH LOG ] { data }

Argumenty

  • table**.**column
    Jest to nazwa tabela i text, ntext, lub image Kolumna do aktualizacji. Nazwy tabel i kolumn muszą być zgodne z zasadami identyfikatory.Określanie nazwy bazy danych i nazwy właściciela jest opcjonalne.

  • text_ptr
    Is a value that stores the pointer to the text, ntext, or image data.text_ptr must be binary(16).To create a text pointer, execute an INSERT or UPDATE statement with data that is not null for the text, ntext, or image column.

  • Z DZIENNIKIEM
    Ignorowane przez SQL Server. Rejestrowanie jest określana przez model odzyskiwanie dotyczące bazy danych.

  • data
    Is the actual text, ntext or image data to store.data can be a literal or a parameter.Maksymalna długość tekstu, które mogą być wstawiane interaktywnie z WRITETEXT wynosi około 120 KB do text, ntext, a image dane.

Remarks

Za pomocą WRITETEXT zastąpić text, ntext, a image dane i UPDATETEXT do modyfikacji text, ntext, a image dane. UPDATETEXT jest bardziej elastyczne, ponieważ zmienia się tylko część text, ntext, lub image Kolumna zamiast całą kolumnę.

Aby uzyskać najlepszą wydajność zaleca się, że text, ntext, a image dane można wstawione lub zaktualizowane w rozmiary segment wielokrotności 8040 bajtów.

Jeśli modelu odzyskiwanie bazy danych jest prosty lub zarejestrowane zbiorczej text, ntext, a image operacje używające WRITETEXT są operacje minimalny zestaw zarejestrowane, gdy nowe dane jest wstawiona lub dołączona. Aby uzyskać więcej informacji zobaczOperations That Can Be Minimally Logged.

Uwaga

Minimalna rejestrowania nie jest używane, jeśli istniejące wartości zostały zaktualizowane.

WRITETEXT działał prawidłowo kolumna musi już zawierać wskaźnik prawidłowy tekst.

Jeśli w wierszu tekstu, nie ma w tabela SQL Server można zaoszczędzić miejsce nie inicjalizując text kolumny po dodaniu bezpośrednie lub pośrednie wartości null w text kolumny z INSERT i wskaźnik tekstu nie można uzyskać na takie wartości null. Aby zainicjować text kolumny mają wartość NULL, należy użyć instrukcja UPDATE. Jeśli tabela ma w wierszu tekstu, nie trzeba zainicjować kolumna tekstu dla wartości null i zawsze może uzyskać wskaźnik tekstu.

ODBC SQLPutData funkcja jest szybsza i korzysta z dynamicznych mniej pamięci niż WRITETEXT.funkcja tę można wstawić do 2 gigabajtów text, ntext, lub image dane.

W SQL Server, w wierszu tekstu łącza do text, ntext, lub image dane mogą istnieć, ale mogą być nieprawidłowe. Aby uzyskać informacje dotyczące tekst w wierszu patrz opcjisp_tableoption (Transact-SQL). Aby uzyskać informacje na temat unieważnienia tekst łącza Zobacz sp_invalidate_textptr (Transact-SQL).

Uprawnienia

Wymaga uprawnienia UPDATE dla określonej tabela.Uprawnienia są zbywalne przy przenoszeniu uprawnienia UPDATE.

Przykłady

W następującym przykładzie powoduje umieszczenie tekstu wskaźnik myszy w zmiennej lokalnej @ptrval, a następnie WRITETEXT umieszcza nowy tekst w wierszu, do których prowadzą @ptrval.

Uwaga

Aby uruchomić ten przykład, należy zainstalować Pubs przykładowej bazy danych.Aby uzyskać informacje na temat instalowania Pubs przykładowej bazy danych, zobacz temat Pobieranie Northwind i przykładowe bazy danych pubs.

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