Bagikan melalui


READTEXT (Transact-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Membaca nilai teks, ntext, atau gambar dari kolom teks, ntext, atau gambar. Mulai membaca dari offset tertentu dan membaca jumlah byte yang ditentukan.

Penting

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan fungsi SUBSTRING sebagai gantinya.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

tabel . kolom
Adalah nama tabel dan kolom untuk dibaca. Nama tabel dan kolom harus memenuhi aturan untuk pengidentifikasi. Menentukan nama tabel dan kolom diperlukan; namun, menentukan nama database dan nama pemilik bersifat opsional.

text_ptr
Adalah penunjuk teks yang valid. text_ptr harus biner(16).

offset
Adalah jumlah byte saat tipe data teks atau gambar digunakan. Ini juga bisa menjadi jumlah byte untuk karakter ketika jenis data ntext digunakan untuk melompati sebelum mulai membaca teks, gambar, atau data ntext .

ukuran Adalah jumlah byte saat tipe data teks atau gambar digunakan. Ini juga bisa menjadi jumlah byte untuk karakter ketika jenis data ntext digunakan untuk data yang akan dibaca. Jika ukuran adalah 0, 4 KB data dibaca.

HOLDLOCK
Menyebabkan nilai teks dikunci untuk dibaca hingga akhir transaksi. Pengguna lain dapat membaca nilainya, tetapi mereka tidak dapat memodifikasinya.

Keterangan

Gunakan fungsi TEXTPTR untuk mendapatkan nilai text_ptr yang valid. TEXTPTR mengembalikan penunjuk ke kolom teks, ntext, atau gambar di baris yang ditentukan. TEXTPRT juga dapat mengembalikan penunjuk atau ke kolom teks, ntext, atau gambar di baris terakhir yang dikembalikan kueri jika kueri mengembalikan lebih dari satu baris. Karena TEXTPTR mengembalikan string biner 16-byte, sebaiknya deklarasikan variabel lokal untuk menahan penunjuk teks, lalu gunakan variabel dengan READTEXT. Untuk informasi selengkapnya tentang mendeklarasikan variabel lokal, lihat DECLARE @local_variable (Transact-SQL).

Di SQL Server, penunjuk teks dalam baris mungkin ada tetapi mungkin tidak valid. Untuk informasi selengkapnya tentang opsi teks dalam baris , lihat sp_tableoption (Transact-SQL). Untuk informasi selengkapnya tentang membatalkan penunjuk teks, lihat sp_invalidate_textptr (Transact-SQL).

Nilai fungsi @@TEXTSIZE menggantikan ukuran yang ditentukan untuk READTEXT jika kurang dari ukuran yang ditentukan untuk READTEXT. Fungsi @@TEXTSIZE menentukan batas jumlah byte data yang dikembalikan yang diatur oleh pernyataan SET TEXTSIZE. Untuk informasi selengkapnya tentang cara mengatur pengaturan sesi untuk TEXTSIZE, lihat MENGATUR TEXTSIZE (Transact-SQL).

Izin

Izin READTEXT default untuk pengguna yang memiliki izin SELECT pada tabel yang ditentukan. Izin dapat ditransfer ketika izin SELECT ditransfer.

Contoh

Contoh berikut membaca karakter pr_info kedua hingga ke-26 kolom dalam pub_info tabel.

Catatan

Untuk menjalankan contoh ini, Anda harus menginstal database sampel pub .

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  

Lihat Juga

@@TEXTSIZE (T-SQL)
UPDATETEXT (Transact-SQL)
WRITETEXT (T-SQL)