updatetext (Transact-sql)

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

Ö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 güncelleştirme deyimi yerine.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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ışı yüklemek için araçlar sağlar yükleyin. Akış, tds protokol düzeyinde aracı tarafından sağlanmalıdır. Veri akışı olmadığında sorgu işlemci bulk seçeneği yoksayar.

    Önemli notÖnemli

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

  • table_name**.**dest_column_name
    Tablo adı ve text, ntext, ya imagesütunu güncelleştirilecek. Tablo adları ve sütun adlarını gerekir uymak için kurallar ile tanımlayıcıları. Sahibinin adı ve veritabanı adı belirtmek isteğe bağlıdır.

  • dest_text_ptr
    Metin işaretçisi olduğunu gösteriyor (textptr işlevi tarafından döndürülen) değeri text, ntext, ya imagegüncelleştirilecek veri. dest_text_ptrmust be binary(16).

  • insert_offset
    Güncelleştirme sıfır tabanlı başlangıç konumu olduğunu. İçin textveya imagesütunlar, insert_offsetYeni veri eklemeden önce varolan bir sütunun başından atlamak için bayt sayısı. İçin ntextsütunlar, insert_offset karakter sayısı (her ntextkarakter 2 bayt kullanır). Mevcut text, ntext, ya imageBu sıfır tabanlı başlangıç konumdan başlayarak veri yeni verilere yer açmak için sağ kaydırılacağı uzaklık. 0 Değeri, yeni verileri varolan verilerin başında ekler. null değeri yeni verileri varolan veri değerine ekler.

  • delete_length
    Varolan silmek veri uzunluğu text, ntext, ya imagebaşlayan sütun, insert_offsetpozisyon. delete_length Bayt için belirtilen değer textve imagesütunlar ve karakter ntextsütun. Her ntextkarakterini kullanır 2 bayt. 0 Değeri, veri siler. null değeri tüm verileri siler insert_offset pozisyon mevcut sonuna textya imagesütun.

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

  • inserted_data
    Mevcut içine eklenecek veri text, ntext, ya imageadresindeki sütun insert_offsetyer. 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, ya imageeklenen veri kaynağı olarak kullanılan sütun. Tablo adları ve sütun adlarını gerekir uymak için kurallar ile tanımlayıcıları.

  • src_text_ptr
    Metin işaretçisi olduğunu gösteriyor (textptr işlevi tarafından döndürülen) değeri bir text, ntext, ya imageeklenen veri kaynağı olarak kullanılan sütun.

    [!NOT]

    scr_text_ptrdeğeri ile aynı olmamalıdır dest_text_ptr değer.

Açıklamalar

Yeni eklenen veri-ebilmek var olmak tek bir inserted_datasabiti, tablo adı, sütun adı veya metin imleci.

Eylem Güncelleştir

updatetext parametreleri

Varolan verileri değiştirmek için

Bir nonnull belirtmek insert_offsetdeğeri, sıfır olmayan bir delete_lengthdeğeri ve eklenecek yeni verileri.

Varolan verileri silmek için

Bir nonnull belirtmek insert_offsetdeğer ve sıfır olmayan bir delete_length. Eklenecek yeni verileri belirtin.

Yeni veri eklemek için

Belirtmek insert_offsetdeğeri, bir delete_length0 ve eklenecek yeni verileri.

Önerilir en iyi performans için text, ntextve imageverilerini eklenmiş veya 8,040 bayt katları olan parçalar boyutlarda güncelleştirilmiş.

De SQL Server, satır metin işaretçiler text, ntext, ya imageverileri bulunabilir ancak geçerli olmayabilir. Hakkında bilgi text in rowseçeneği, bakın 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 textsütunlar null kullanın WRITETEXT; updatetext başlatır textboş bir dize sütunlar.

İzinler

Belirtilen tablo update izni gerektirir.

Örnekler

Aşağıdaki örnek metin imleci yerel değişken koyar @ptrvalve UPDATETEXTbir yazım hatası güncelleştirmek için.

[!NOT]

Bu örneği çalıştırmak için önce yüklemeniz gerekir pubsveritabanı.

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

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

Ayrıca bkz.

Başvuru

readtext (Transact-sql)

textptr (Transact-sql)

WRITETEXT (Transact-sql)