Aracılığıyla paylaş


WRITETEXT (Transact-SQL)

Var en az oturum, etkileşimli güncelleştirme izin veren text, ntext, veya image sütun.WRITETEXT etkilediğini sütun varolan verilerin üzerine yazılır.WRITETEXT üzerinde kullanılamaz text, ntext, ve image sütunlarında görünümler.

Ö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

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

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**.**column
    tablo adı ve text, ntext, veya imagesütun güncelleştirme. Tablo ve sütun adlarını kurallarını uymak gerekir tanımlayıcıları.Veritabanı adı ve sahibi adlarını belirtmek isteğe bağlıdır.

  • text_ptr
    İşaretçi saklar değeri text, ntext, veya image veri.text_ptrolmalıdır binary(16).Bir metin işaretçisi yürütmek oluşturmak için bir Ekle veya güncelleştirme deyim null için olmayan veriler ile text, ntext, veya image sütun.

  • GÜNLÜK İLE
    Tarafından göz ardı SQL Server.Günlük, geçerli veritabanı için kurtarma modeli tarafından belirlenir.

  • data
    Gerçek olduğunu text, ntext veya image veri deposu.databir hazır bilgi ya da bir parametre olabilir.Maksimum WRITETEXT ile etkileşimli olarak eklenebilen metin yaklaşık 120 kb uzunluğunda text, ntext, ve image veri.

Açıklamalar

WRITETEXT değiştirmek için kullanmak text, ntext, ve image veri ve updatetext değiştirmek için text, ntext, ve image veri.updatetext yalnızca bir kısmı değiştirdiği için daha esnek bir text, ntext, veya image sütun sütuntamamını yerine.

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

Veritabanı kurtarma modelini basit veya yığın-günlüklenen ise text, ntext, ve image Yeni veriler eklendiğinde veya eklenmiş olan en az oturum işlemleri WRITETEXT kullanan işlemler.Daha fazla bilgi için, bkz. En az oturum işlemleri.

Not

Varolan değerleri güncelleştirildiği Minimal günlüğü kullanılmaz.

Düzgün çalışması WRITETEXT için sütun zaten geçerli metin imleci içermesi gerekir.

tablo satır metin yoksa, SQL Server kaydeder değil başlatırken boşluk text sütunlar, açık veya örtülü null değerler de eklenir text INSERT, sütunlarla ve hiçbir metin işaretçisi elde edilebilir için böyle boş değerlere.Başlatmak için text sütunlar NULL, update deyimkullanın.tablo satır metin varsa, metin sütun için boş değerlere başlatmak gerekmez ve metin işaretçisi her zaman alabilir.

odbc SQLPutData işlev daha hızlıdır ve WRITETEXT daha az dinamik bellek kullanır.Bu işlev , en çok 2 gigabayt ekleyebilirsiniz text, ntext, veya image veri.

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

İzinler

Belirtilen tabloupdate izni gerektirir.GÜNCELLEŞTİRME izni transfer edildiğinde izni transfer edilebilir.

Örnekler

Aşağıdaki örnek metin imleci yerel deðiþkene yerleþtirir @ptrvalve WRITETEXT yerler için yeni metin dize satır işaret tarafından @ptrval.

Not

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