Udostępnij za pośrednictwem


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ż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

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ż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_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