Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Managed Instance
Atualiza um campo de texto, texto narcisista ou imagem existente. Use UPDATETEXT para alterar apenas uma parte de uma coluna de texto, ntext ou imagem no lugar. Use o WRITETEXT para atualizar e substituir um campo inteiro de texto, ntext ou imagem .
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 os tipos de dados de grande valor e o . Cláusula WRITE da UPDATE afirmação em vez disso.
Transact-SQL convenções de sintaxe
Syntax
UPDATETEXT [BULK] { table_name.dest_column_name dest_text_ptr }
{ NULL | insert_offset }
{ NULL | delete_length }
[ WITH LOG ]
[ inserted_data
| { table_name.src_column_name src_text_ptr } ]
Arguments
BULK
Permite que ferramentas de upload carreguem um fluxo de dados binários. O fluxo deve ser fornecido pela ferramenta ao nível do protocolo TDS. Quando o fluxo de dados não está presente, o processador de consultas ignora a opção BULK.
Importante
Recomendamos que a opção BULK não seja usada em aplicações baseadas em SQL Server. Esta opção pode ser alterada ou removida numa versão futura do SQL Server.
table_name.dest_column_name
É o nome da tabela e do texto, ntext ou coluna de imagem a atualizar. Os nomes das tabelas e das colunas devem cumprir as regras para identificadores. Especificar o nome da base de dados e os nomes dos proprietários é opcional.
dest_text_ptr
É um valor de ponteiro de texto (devolvido pela função TEXTPTR) que aponta para os dados de texto, ntext ou imagem a atualizar.
dest_text_ptr deve ser binária(16).
insert_offset
É a posição inicial em base zero para a atualização. Para colunas de texto ou imagem , insert_offset é o número de bytes a saltar a partir do início da coluna existente antes de inserir novos dados. Para colunas ntext , insert_offseté o número de caracteres (cada carácter ntext usa 2 bytes). Os dados existentes de texto, ntext ou imagem a partir desta posição inicial base zero são deslocados para a direita para dar lugar aos novos dados. Um valor de 0 insere os novos dados no início dos dados existentes. Um valor de NULL adiciona os novos dados ao valor existente.
delete_length
É o comprimento dos dados a eliminar da coluna de texto, ntext ou imagem existente, começando na posição insert_offset . O valor delete_lengthé especificado em bytes para colunas de texto e imagem e em caracteres para colunas ntext . Cada carácter ntext usa 2 bytes. Um valor de 0 não apaga dados. Um valor de NULL apaga todos os dados da posição insert_offset até ao fim da coluna de texto ou imagem existente.
COM TRONCO
O registo é determinado pelo modelo de recuperação em vigor para a base de dados.
inserted_data
São os dados a serem inseridos no texto, ntextou imagem existente na localização insert_offset . Trata-se de um único carácter, nchar, varchar, nvarchar, binário, varbinário, texto, ntext ou valor de imagem .
inserted_data pode ser literal ou variável.
table_name.src_nome_coluna_de_
É o nome da tabela e da coluna do texto, ntext ou imagem usada como fonte dos dados inseridos. Os nomes das tabelas e das colunas devem cumprir as regras para identificadores.
src_text_ptr
É um valor de ponteiro de texto (devolvido pela função TEXTPTR) que aponta para uma coluna de texto, ntext ou imagem usada como fonte dos dados inseridos.
Note
scr_text_ptr valor não pode ser o mesmo que dest_text_ptrvalor.
Remarks
Os dados recém-inseridos podem ser uma única inserted_data constante, nome de tabela, nome de coluna ou ponteiro de texto.
| Ação de atualização | Parâmetros UPDATETEXT |
|---|---|
| Para substituir dados existentes | Especifique um valor de insert_offset não nulo, um valor de delete_length não nulo e os novos dados a inserir. |
| Para eliminar dados existentes | Especifique um valor de insert_offset não nulo e um delete_length não nulo. Não especifique novos dados a serem inseridos. |
| Para inserir novos dados | Especifique o valor insert_offset , um delete_length de 0 e os novos dados a inserir. |
Para melhor desempenho, recomendamos que os dados de texto, ntext e imagem sejam inseridos ou atualizados em blocos que sejam múltiplos de 8.040 bytes.
No SQL Server, podem existir ponteiros de texto na linha para dados de texto, ntext ou imagem, mas podem não ser válidos. Para informações sobre a opção texto na linha, veja sp_tableoption (Transact-SQL). Para informações sobre a invalidação de ponteiros de texto, veja sp_invalidate_textptr (Transact-SQL).
Para inicializar colunas de texto para NULL, use WRITETEXT; O UPDATETEXT inicializa colunas de texto numa cadeia vazia.
Permissions
Requer UPDATE permissão na tabela especificada.
Examples
O exemplo seguinte coloca o ponteiro de texto na variável @ptrvallocal , e depois é usado UPDATETEXT para atualizar um erro ortográfico.
Note
Para executar este exemplo, tens de instalar a base de dados pubs.
USE pubs;
GO
ALTER DATABASE pubs SET RECOVERY SIMPLE;
GO
DECLARE @ptrval BINARY(16);
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id
AND p.pub_name = 'New Moon Books'
UPDATETEXT pub_info.pr_info @ptrval 88 1 'b';
GO
ALTER DATABASE pubs SET RECOVERY FULL;
GO
Ver também
TEXTO LIDO (Transact-SQL)
TEXTPTR (Transact-SQL)
WRITETEXT (Transact-SQL)