Udostępnij za pomocą


READTEXT (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Odczytuje tekst, ntext lub wartości obrazów z kolumny tekstowej, ntext lub obrazu . Rozpoczyna odczyt od określonego przesunięcia i odczytuje określoną liczbę bajtów.

Ważne

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Zamiast tego użyj funkcji SUBSTRING .

Transact-SQL konwencje składni

Składnia

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

Arguments

Stoł.kolumna
To nazwa tabeli i kolumny, z której należy czytać. Nazwy tabel i kolumn muszą spełniać zasady dotyczące identyfikatorów. Wymagane jest określenie nazw tabel i kolumn; jednak określenie nazwy bazy danych i nazw właścicieli jest opcjonalne.

text_ptr
Jest poprawnym wskaźnikiem tekstowym. text_ptr musi być binarny(16).

Przesunięcie
To liczba bajtów, gdy używane są typy danych tekstowych lub obrazowych . Może to być także liczba bajtów znaków, gdy typ danych ntext jest używany do pomijania przed rozpoczęciem odczytu tekstu, obrazu lub danych ntext .

rozmiar To liczba bajtów, gdy używane są typy danych tekstowych lub obrazowych . Może to być także liczba bajtów znaków, gdy typ danych ntext jest używany do odczytu danych. Jeśli rozmiar wynosi 0, odczytane są 4 KB danych.

HOLDLOCK
Powoduje zablokowanie wartości tekstu dla odczytów do końca transakcji. Inni użytkownicy mogą odczytać wartość, ale nie mogą jej zmieniać.

Uwagi

Użyj funkcji TEXTPTR, aby uzyskać prawidłową wartość text_ptr . TEXTPTR zwraca wskaźnik do kolumny tekst,ntext lub obraz w podanym wierszu. TEXTPRT może również zwracać wskaźnik lub do kolumny tekstowej, ntextowej lub obrazowej w ostatnim wierszu, którą zwraca zapytanie, jeśli zapytanie zwraca więcej niż jeden wiersz. Ponieważ TEXTPTR zwraca 16-bajtowy ciąg binarny, zalecamy zadeklarowanie lokalnej zmiennej do przechowywania wskaźnika tekstowego, a następnie użycie tej zmiennej z READTEXT. Więcej informacji o deklarowaniu zmiennej lokalnej można znaleźć w .DECLARE @local_variable (Transact-SQL)

W SQL Server mogą istnieć wskaźniki tekstowe w wierszu, ale nie muszą być poprawne. Aby uzyskać więcej informacji o opcji tekstu w wierszu , zobacz sp_tableoption (Transact-SQL). Więcej informacji o unieważnianiu wskaźników tekstowych można znaleźć w sp_invalidate_textptr (Transact-SQL).

Wartość funkcji @@TEXTSIZE zastępuje rozmiar określony dla READTEXT, jeśli jest mniejszy niż określony rozmiar dla READTEXT. Funkcja @@TEXTSIZE określa limit liczby zwróconych bajtów danych, który jest ustalany przez polecenie SET TEXTSIZE. Aby uzyskać więcej informacji o ustawieniu sesji dla TEXTSIZE, zobacz USTAW TEXTSIZE (Transact-SQL).

Permissions

Domyślnie uprawnienia READTEXT dotyczą użytkowników, którzy mają uprawnienia SELECT w określonej tabeli. Uprawnienia są przenośne po przeniesieniu uprawnień SELECT.

Przykłady

Poniższy przykład odczytuje od drugiego do dwudziestego szóstego znaku kolumny pr_info w tabeli pub_info .

Uwaga / Notatka

Aby wykonać ten przykład, musisz zainstalować bazę danych z próbkami publikacji .

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  

Zobacz też

@@TEXTSIZE (Transact-SQL)
AKTUALIZACJA TEKST (Transact-SQL)
WRITETEXT (Transact-SQL)