Aracılığıyla paylaş


UPDATETEXT (Transact-SQL)

Varolan bir güncelleştirir text, ntext, veya image alan. Yalnızca bir bölümünü değiştirmek için UPDATETEXT kullanan bir text, ntext, veya image sütun yerinde. Bir bütün olarak değiştirin ve güncelleştirmek için WRITETEXT kullanın. text, ntext, veya image alan.

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. Büyük değer veri türleri'ni kullanın ve . yan tümce WRITE GÜNCELLEŞTİRME deyim yerine.

Topic link iconTransact-SQL sözdizimi kuralları

UPDATETEXT { 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 } ]

Bağımsız değişkenler

  • table_name**.**dest_column_name
    Adı tablo ve text, ntext, veya image sütun, güncelleştirilecek. Tablo adları ve sütun adları için kurallara uymanız gerekir tanımlayıcılar.Sahibinin adı ve veritabanı adını belirten isteğe bağlıdır.

  • dest_text_ptr
    Is a text pointer value (returned by the TEXTPTR function) that points to the text, ntext, or image data to be updated.dest_text_ptr must be binary(16).

  • insert_offset
    Sıfır tabanlı başlangıç güncelleştirmenin konumdur.Için text veya image sütun insert_offset Yeni veri eklemeden önce varolan bir sütunun başından atlamak için gereken bayt sayısıdır. For ntext columns, insert_offsetis the number of characters (each ntext character uses 2 bytes).Varolan text, ntext, veya image Başlangıç sıfır tabanlı bu konumdan başlayarak, verileri yeni verilere yer açmak için sağa kaydırılacağı uzaklık. 0 Değeri, yeni verileri varolan verilerin başlangıcına ekler.NULL değeri, yeni verileri varolan bir veri değerine ekler.

  • delete_length
    Varolandan seçim silmek için veri uzunluğu text, ntext, veya image sütun başlayarak, insert_offset Position. The delete_lengthvalue is specified in bytes for text and image columns and in characters for ntext columns.Her ntext karakter için 2 bayt kullanır. 0 Değeri, veri siler.NULL değeri, tüm verileri siler insert_offset Varolan'ın sonuna getirin. text veya image sütun.

  • GÜNLÜK İLE
    Günlük, geçerli veritabanının kurtarma modeli tarafından belirlenir.

  • inserted_data
    Varolan içine eklenecek veriler text, ntext, veya image sütun sırasında insert_offset Konum. This is a single char, nchar, varchar, nvarchar, binary, varbinary, text, ntext, or image value.inserted_data can be a literal or a variable.

  • table_name.src_column_name
    Tablonun adıdır ve text, ntext, veya image sütun olarak kullanılan kaynak eklenen veriler. Tablo adları ve sütun adlarının tanımlayıcıları kurallarına uymanız gerekir.

  • src_text_ptr
    Bir metin işaretçisi mi (TEXTPTR işlev tarafından döndürülen) değeri, işaret eden bir text, ntext, veya image sütun eklenen veri kaynağı olarak kullanılır.

    Not

    scr_text_ptrvalue must not be the same as dest_text_ptrvalue.

Remarks

Yeni eklenen veriler tek bir olabilir. inserted_data Sabit, tablo adı, sütun adı veya metin işaretçisi.

Eylem Güncelleştir

UPDATETEXT parametreleri

Varolan verileri değiştirmek için

Bir nonnull belirtin. insert_offset sıfır olmayan bir değer delete_length değer ve yeni verileri eklenecek.

Varolan verileri silmek için

Bir nonnull belirtin. insert_offset değer'i ve sıfır olmayan bir delete_length. Eklenecek yeni verileri belirtin.

Yeni veri eklemek için

Belirttiğiniz insert_offset değer, bir delete_length 0 ve yeni verileri eklenecek.

En iyi performans için önerilir text, ntext ve image veri eklendiğinde veya 8,040 bayt katları olan büyük boyutlarda güncelleştirildi.

Içinde SQL Server, satır metin işaretçiler text, ntext, veya image veri bulunabilir, ancak geçerli olmayabilir. Hakkında bilgi için Satır metni Bkz: seçeneğisp_tableoption (Transact-SQL). Metin işaretçisi geçersiz duruma getirmelerini hakkında daha fazla bilgi için bkz: sp_invalidate_textptr (Transact-SQL).

Başlatılamadı text uyumluluk düzey için 65 eşit olduğunda, null sütunlar UPDATETEXT kullanın. Uyumluluk düzey için 70 eşitse, metni sütunlara NULL; başlatılamıyor WRITETEXT kullanın, aksi halde UPDATETEXT başlatır. text Sütunları boş bir dize. Uyumluluk düzeyini ayarlama hakkında daha fazla bilgi için bkz: sp_dbcmptlevel (Transact-SQL).

İzinler

Belirtilen tablo GÜNCELLEŞTIR izni gerektirir.

Örnekler

Aşağıdaki örnek, yerel bir değişken metin işaretçisi koyar @ptrval, sonra kullanır UPDATETEXT yazım hatası güncelleştirmek için .

Not

Kullanımı sp_configure the küme ve sunucu düzey ayarlarını değiştirmek için deyim yalnızca geçerli oturum etkileyen ayarları değiştirmek için.Nasıl yükleneceği hakkında bilgi için Pubs Bkz: veritabanıNorthwind ve pubs örnek veritabanları karşıdan yükleniyor.

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