updatetext (Transact-SQL)

Varolan güncelleştirmeleri text, ntext, veya image alan.updatetext yalnızca bir parçasını değiştirmek için kullanmak bir text, ntext, veya image sütun yer.Güncelleştirme ve bütün yerine WRITETEXT kullanmak text, ntext, veya image alan.

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.Büyük değer veri türleri kullanın ve .Yazma yan tümce güncelleştirme deyim yerine.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • BULK
    İkili veri akışı karşıya yüklemek için araçlar sağlar karşıya.Akış TDSprotokoldüzey araç tarafından sağlanmalıdır. Sorgu işlemci veri akış yok bulk seçeneği yoksayar.

    Önemli notÖnemli

    bulk seçeneği olarak kullanılmaması önerilir SQL Server-tabanlı uygulamaları.Bu seçenek değiştirilemez veya, gelecekteki bir sürüm kaldırılmış SQL Server.

  • table_name**.**dest_column_name
    tablo adı ve text, ntext, veya imagesütun güncelleştirilecek. Tablo ve sütun adlarını gerekir kurallarını karşılayan tanımlayıcıları.Veritabanı adı ve sahibi adlarını belirtmek isteğe bağlıdır.

  • dest_text_ptr
    Metin işaretçisi işaret (textptr işlevtarafından döndürülen) değeri text, ntext, veya image güncelleştirilecek veri.dest_text_ptrmust be binary(16).

  • insert_offset
    Sıfır tabanlı başlangıç güncelleştirme konumdur.İçin text veya image sütunlar, insert_offset Varolan bir sütun ekleyerek önce başından geçmek için bayt sayısıyeni veri.İçin ntext sütunlar, insert_offsetkarakter sayısı (her ntext karakter için 2 bayt kullanır).Var olan text, ntext, veya image verileri sıfır tabanlı bu konumdan başlayarak yapmak için yer sağa kaydırılacağı uzaklıkyeni bir veri.0 Değeri, yeni verileri varolan verilerin başında ekler.Bir null değeri yeni verileri varolan veri değerine ekler.

  • delete_length
    Varolan silmek veri uzunluğu text, ntext, veya imagebaşlayansütun insert_offset konum.delete_lengthBayt değeri belirtilen text ve image sütunları ve karakter ntext sütunlar.Her ntext karakterini kullanır 2 bayt.0 Değeri, veri siler.Bir null değeri tüm verileri siler insert_offset sonuna kadar varolan konumu text veya image sütun.

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

  • inserted_data
    Varolan içine eklenecek veri text, ntext, veya imageadresindekisütun insert_offset konum.This is a single char, nchar, varchar, nvarchar, binary, varbinary, text, ntext, or image value.inserted_databir sabit veya değişken olabilir.

  • table_name.src_column_name
    tablo adı ve text, ntext, veya imagesütun kullanılan kaynak olarak eklenen bir veri. Tablo ve sütun adlarını tanımlayıcıları kuralları uymanız gerekir.

  • src_text_ptr
    Metin işaretçisi (textptr işlevtarafından döndürülen) değeri, işaret eden bir text, ntext, veya image sütun kullanılan kaynak olarak eklenen bir veri.

    Not

    scr_text_ptrdeğeri ile aynı olmamalıdır dest_text_ptrdeğer.

Açıklamalar

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

eylemGüncelleştir

updatetext parametreleri

Varolan verileri değiştirmek için

Bir nonnull belirtmek insert_offset değeri, sıfır olmayan bir delete_length değeri ve eklenecek yeni verileri.

Varolan verileri silmek için

Bir nonnull belirtmek insert_offset değer ve sıfır olmayan bir delete_length.Eklenecek yeni verileri belirtmeyin.

Yeni veri eklemek için

Belirtmek insert_offset değeri, bir delete_length 0 ve eklenecek yeni verileri.

En iyi performans için öneririz text, ntext ve image veri eklendiğinde veya güncelleştirildiğinde çarpan olan parçalar boyutlarda8,040 bayt. biri

De SQL Server, satır - metin işaretçiler text, ntext, veya image veri bulunabilir ancak geçerli olmayabilir.Hakkında bilgi için text in row seçeneği, bkz: sp_tableoption (Transact-SQL).Metin işaretçiler geçersiz kılmalarını hakkında daha fazla bilgi için bkz: sp_invalidate_textptr (Transact-SQL).

Başlatmak için text sütunlar NULL, updatetext Uyumluluk düzey için 65 eşit olduğunda kullanın.Uyumluluk düzey için 70 eşitse, WRITETEXT metin sütunları null başlatmak için kullanın; Aksi halde, updatetext başlatır text boþ bir dizesütunlar.Uyumluluk düzeyayarlama hakkında daha fazla bilgi için bkz: sp_dbcmptlevel (Transact-SQL).

İzinler

Belirtilen tabloupdate izni gerektirir.

Örnekler

Aşağıdaki örnek metin imleci yerel deðiþkene yerleþtirir @ptrval, sonra kullanır UPDATETEXT Update bir yazım hatası.

Not

Bu örneği çalıştırmak için yüklemeniz gereken pubs veritabanı.Nasıl yükleneceği hakkında bilgi için pubs veritabanı Bkz: 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