Udostępnij za pośrednictwem


WRITETEXT (Transact-SQL)

Zezwala na minimalny zarejestrowane, interaktywne aktualizacji istniejącej text, ntext, lub image kolumna.WRITETEXT powoduje zastąpienie istniejących danych w kolumna , która wpływa na.WRITETEXT nie może być używany na text, ntext, i image kolumn w widokach.

Ważna informacjaWaż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.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

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żna informacjaWaż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**.**column
    Jest to nazwa tabela i text, ntext, lub image kolumna do aktualizacji.Nazwy tabel i kolumna muszą być zgodne z zasadami identyfikatorów.Określanie nazwy bazy danych i nazwy właściciela jest opcjonalne.

  • text_ptr
    To wartość, która zawiera wskaźnik do text, ntext, lub image danych.text_ptrmusi być binary(16).Aby utworzyć wskaźnik tekstu, wykonać WSTAW lub aktualizacji instrukcja z danymi, które nie jest null dla text, ntext, lub image kolumna.

  • Z DZIENNIKIEM
    Ignorowane przez SQL Server.Rejestrowanie zależy od modelu odzyskiwanie dotyczące bazy danych.

  • data
    Jest rzeczywistym text, ntext lub image danych z magazynu.datamoże to być literał lub parametr.Maksymalna długość tekstu, który można wstawić interakcyjnie z WRITETEXT wynosi około 120 KB dla text, ntext, i image danych.

Uwagi

Zastąpić za pomocą WRITETEXT text, ntext, i image i UPDATETEXT do modyfikowania danych text, ntext, i image danych.UPDATETEXT jest bardziej elastyczne, ponieważ zmienia tylko część text, ntext, lub image kolumna zamiast całą kolumna.

Aby uzyskać najlepszą wydajność zaleca się, że text, ntext, i image danych jest wstawiany lub aktualizowany w rozmiarach fragment , które są wielokrotności z 8040 bajtów.

Jeśli modelu odzyskiwanie bazy danych jest proste lub bulk-logged, text, ntext, i image operacje używające WRITETEXT są zarejestrowane minimalny zestaw operacji, gdy nowe dane jest wstawiona lub dołączona.Aby uzyskać więcej informacji, zobacz Operacje, które mogą być rejestrowane minimalny.

Ostrzeżenie

Minimalne rejestrowania nie jest używany, kiedy istniejące wartości są aktualizowane.

WRITETEXT do poprawnej pracy kolumna musi już zawierać wskaźnik prawidłowy tekst.

Jeśli tabela nie ma w wierszu tekstu, SQL Server można zaoszczędzić miejsce nie inicjalizując text kolumn po dodaniu jawny lub niejawny null wartości w text kolumny WSTAW, a wskaźnik tekstu nie można uzyskać za takie wartości null.Aby zainicjować text kolumny mają wartość NULL, należy użyć instrukcjaUPDATE.Jeśli tabela ma w wierszu tekstu, nie trzeba zainicjować tekst kolumna dla wartości null i zawsze może uzyskać wskaźnik tekstu.

ODBC SQLPutData,funkcja jest szybsza i używa pamięci dynamicznej mniejszej niż WRITETEXT. Tej funkcja można wstawić 2 gigabajty text, ntext, lub image danych.

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).

Uprawnienia

Wymaga aktualizacji uprawnienie dla określonej tabela.Uprawnienia są zbywalne, przy przenoszeniu uprawnień aktualizacji.

Przykłady

Poniższy przykład powoduje umieszczenie tekstu wskaźnik w zmiennej lokalnej @ptrval, a następnie WRITETEXT miejsca nowy tekst ciąg do wiersza wskazywanej przez @ptrval.

Ostrzeżenie

Aby uruchomić ten przykład, należy zainstalować pubs przykładowej bazy danych.Aby uzyskać informacje dotyczące sposobu instalowania pubs Przykładowe 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'
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