Partilhar via


TEXTO LIDO (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure

valores de texto, ntext ou imagem de uma coluna de texto, ntext ou imagem . Começa a ler a partir de um deslocamento especificado e a ler o número de bytes especificado.

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Use a função SUBSTRING em vez disso.

Transact-SQL convenções de sintaxe

Sintaxe

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

Arguments

mesa.Coluna
É o nome de uma tabela e coluna a partir da qual se pode ler. Os nomes das tabelas e colunas devem cumprir as regras para identificadores. É necessário especificar os nomes da tabela e das colunas; no entanto, especificar o nome da base de dados e os nomes dos proprietários é opcional.

text_ptr
É um apontador de texto válido. text_ptr deve ser binário(16).

Deslocamento
É o número de bytes quando os tipos de dados de texto ou imagem são utilizados. Também pode ser o número de bytes dos caracteres quando o tipo de dado ntext é usado para saltar antes de começar a ler o texto, imagem ou dados ntext.

Tamanho É o número de bytes quando os tipos de dados de texto ou imagem são utilizados. Também pode ser o número de bytes para caracteres quando o tipo de dado ntext é usado para dados a serem lidos. Se o tamanho for 0, são lidos 4 KB de dados.

HOLDLOCK
Faz com que o valor do texto fique bloqueado para leituras até ao final da transação. Outros utilizadores podem ler o valor, mas não o podem modificar.

Observações

Use a função TEXTPTR para obter um valor de text_ptr válido. O TEXTPTR devolve um ponteiro para a coluna de texto, ntext ou imagem na linha especificada. O TEXTPRT também pode devolver um ponteiro ou para a coluna de texto, ntext ou imagem na última linha que a consulta devolve se a consulta devolver mais do que uma linha. Como o TEXTPTR devolve uma cadeia binária de 16 bytes, recomendamos declarar uma variável local para segurar o ponteiro de texto e depois usar a variável com READTEXT. Para mais informações sobre como declarar uma variável local, veja DECLARE @local_variable (Transact-SQL).

No SQL Server, podem existir ponteiros de texto em linha, mas podem não ser válidos. Para mais informações sobre a opção texto na linha , veja sp_tableoption (Transact-SQL). Para mais informações sobre a invalidação de ponteiros de texto, veja sp_invalidate_textptr (Transact-SQL).

O valor da função @@TEXTSIZE sobrepõe-se ao tamanho especificado para READTEXT se for inferior ao tamanho especificado para READTEXT. A função @@TEXTSIZE especifica o limite do número de bytes de dados devolvidos, que é definido pela instrução SET TEXTSIZE. Para mais informações sobre como definir a definição de sessão para TEXTSIZE, consulte SET TEXTSIZE (Transact-SQL).

Permissions

As permissões READTEXT por defeito são para utilizadores que têm permissões SELECT na tabela especificada. As permissões são transferíveis quando as permissões SELECT são transferidas.

Examples

O exemplo seguinte lê os caracteres do segundo ao 26.º da pr_info coluna na pub_info tabela.

Observação

Para executar este exemplo, tens de instalar a base de dados de exemplos de publicações .

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  

Ver também

@@TEXTSIZE (Transact-SQL)
ATUALIZAÇÃO (Transact-SQL)
WRITETEXT (Transact-SQL)