Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure 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)