Aracılığıyla paylaş


METIN OKUYOR (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Metin, ntextveya resim sütunundan metin, ntext veya resim değerlerini okur. Belirlenen bir ofsetten okumaya ve belirtilen bayt sayısını okumaya başlar.

Önemli

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine SUBSTRING fonksiyonunu kullanın.

Transact-SQL söz dizimi kuralları

Sözdizimi

READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]  

Arguments

masa.sütun
Okumak için bir tablo ve sütunun adıdır. Tablo ve sütun adları, tanımlayıcılar için kuralları karşılamalıdır. Tablo ve sütun adlarının belirtilmesi gereklidir; ancak veritabanı adı ve sahibi isimlerinin belirtilmesi isteğe bağlıdır.

text_ptr
Geçerli bir metin işaretçisidir. text_ptrikili olmalı(16).

ofset
Metin veya görüntü veri türlerinin kullanıldığı bayt sayısıdır. Ayrıca, ntext veri türü kullanılarak metin,resim veya ntext verisini okumaya başlamadan önce atlamak için kullanılan karakterler için bayt sayısı da olabilir.

boyutMetin veya görüntü veri türlerinin kullanıldığı bayt sayısıdır. Ayrıca, ntext veri tipi verilerin okunması için kullanıldığında karakterlerin bayt sayısı da olabilir. Boyut 0 ise, 4 KB veri okunur.

HOLDLOCK
İşlemin sonuna kadar okuma için metin değerinin kilitlenmesine neden olur. Diğer kullanıcılar değeri okuyabilir ama değiştiremezler.

Açıklamalar

Geçerli bir text_ptr değeri elde etmek için TEXTPTR fonksiyonunu kullanın. TEXTPTR, belirtilen satırdaki metin, ntext veya resim sütununa işaret döndürür. TEXTPRT ayrıca, sorgu birden fazla satır döndürerse sorgu son satırdaki metin, ntext veya resim sütununa bir işaretçi veya gönderebilir. TEXTPTR 16 baytlık ikili bir dizi döndürdüğünden, metin işaretçisini tutmak için yerel bir değişken ilan etmeyi ve ardından değişkeni READTEXT ile kullanmanızı öneririz. Yerel değişken ilan etme hakkında daha fazla bilgi için bkz.DECLARE @local_variable (Transact-SQL)

SQL Server'da sıralı metin işaretçileri olabilir ancak geçerli olmayabilir. Metin satır içindeki seçeneği hakkında daha fazla bilgi için sp_tableoption (Transact-SQL) bölümüne bakınız. Metin işaretçilerinin geçersiz hale getirilmesiyle ilgili daha fazla bilgi için sp_invalidate_textptr (Transact-SQL) bölümine bakınız.

@@TEXTSIZE fonksiyonunun değeri, READTEXT için belirtilen boyuttan küçükse READTEXT için belirtilen boyutun önüne geçer. @@TEXTSIZE fonksiyonu, SET TEXTSIZE ifadesi ile belirlenen geri dönen veri baytı sayısının sınırını belirtir. TEXTSIZE için oturum ayarının nasıl ayarlanacağı hakkında daha fazla bilgi için SET TEXTSIZE (Transact-SQL) bölümüne bakınız.

Permissions

READTEXT izinleri, belirtilen tabloda SELECT izinleri olan kullanıcılara yönelmiştir. SELECT izinleri aktarıldığında izinler devredilebilir.

Örnekler

Aşağıdaki örnek, tablodaki sütunun pub_info ikinci ile 26. karakterlerini pr_info okumaktadır.

Uyarı

Bu örneği çalıştırmak için yayın örnek veritabanını kurmanız gerekir.

USE pubs;  
GO  
DECLARE @ptrval VARBINARY(16);  
SELECT @ptrval = TEXTPTR(pr_info)   
   FROM pub_info pr INNER JOIN publishers p  
      ON pr.pub_id = p.pub_id   
      AND p.pub_name = 'New Moon Books'  
READTEXT pub_info.pr_info @ptrval 1 25;  
GO  

Ayrıca Bkz.

@@TEXTSIZE (Transact-SQL)
GÜNCELLEME METNI (Transact-SQL)
METIN YAZ (Transact-SQL)