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 Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
Remove uma ou mais linhas de uma tabela ou exibição no SQL Server.
Transact-SQL convenções de sintaxe
Syntax
-- Syntax for SQL Server and Azure SQL Database
[ WITH <common_table_expression> [ ,...n ] ]
DELETE
[ TOP ( expression ) [ PERCENT ] ]
[ FROM ]
{ { table_alias
| <object>
| rowset_function_limited
[ WITH ( table_hint_limited [ ...n ] ) ] }
| @table_variable
}
[ <OUTPUT Clause> ]
[ FROM table_source [ ,...n ] ]
[ WHERE { <search_condition>
| { [ CURRENT OF
{ { [ GLOBAL ] cursor_name }
| cursor_variable_name
}
]
}
}
]
[ OPTION ( <Query Hint> [ ,...n ] ) ]
[; ]
<object> ::=
{
[ server_name.database_name.schema_name.
| database_name. [ schema_name ] .
| schema_name.
]
table_or_view_name
}
-- Syntax for Azure Synapse Analytics and Microsoft Fabric
[ WITH <common_table_expression> [ ,...n ] ]
DELETE [database_name . [ schema ] . | schema. ] table_name
FROM [database_name . [ schema ] . | schema. ] table_name
JOIN {<join_table_source>}[ ,...n ]
ON <join_condition>
[ WHERE <search_condition> ]
[ OPTION ( <query_options> [ ,...n ] ) ]
[; ]
<join_table_source> ::=
{
[ database_name . [ schema_name ] . | schema_name . ] table_or_view_name [ AS ] table_or_view_alias
[ <tablesample_clause>]
| derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]
}
-- Syntax for Parallel Data Warehouse
DELETE
[ FROM [database_name . [ schema ] . | schema. ] table_name ]
[ WHERE <search_condition> ]
[ OPTION ( <query_options> [ ,...n ] ) ]
[; ]
Arguments
COM common_table_expression <>
Especifica o conjunto de resultados nomeado temporário, também conhecido como expressão de tabela comum, definido dentro do escopo da instrução DELETE. O conjunto de resultados é derivado de uma instrução SELECT.
Expressões de tabela comuns também podem ser usadas com as instruções SELECT, INSERT, UPDATE e CREATE VIEW. Para obter mais informações, consulte WITH common_table_expression (Transact-SQL).
TOPO (expressão) [ PERCENTAGEM ]
Especifica o número ou a porcentagem de linhas aleatórias que serão excluídas.
A expressão pode ser um número ou uma porcentagem das linhas. As linhas referenciadas na expressão TOP usada com INSERT, UPDATE ou DELETE não são organizadas em nenhuma ordem. Para obter mais informações, consulte TOP (Transact-SQL).
FROM
Uma palavra-chave opcional que pode ser usada entre a palavra-chave DELETE e a table_or_view_name de destino ou rowset_function_limited.
table_alias
O alias especificado na cláusula FROM table_source que representa a tabela ou exibição da qual as linhas devem ser excluídas.
server_name
Aplica-se a: SQL Server 2008 (10.0.x) e posterior.
O nome do servidor (usando um nome de servidor vinculado ou a função OPENDATASOURCE como o nome do servidor) no qual a tabela ou exibição está localizada. Se server_name for especificado, database_name e schema_name são necessários.
database_name
O nome do banco de dados.
schema_name
O nome do esquema ao qual a tabela ou exibição pertence.
table_or_view_name
O nome da tabela ou modo de exibição do qual as linhas devem ser removidas.
Uma variável de tabela, dentro de seu escopo, também pode ser usada como uma fonte de tabela em uma instrução DELETE.
O modo de exibição referenciado por table_or_view_name deve ser atualizável e fazer referência exatamente a uma tabela base na cláusula FROM da definição de exibição. Para obter mais informações sobre modos de exibição atualizáveis, consulte CREATE VIEW (Transact-SQL).
rowset_function_limited
Aplica-se a: SQL Server 2008 (10.0.x) e posterior.
A função OPENQUERY ou OPENROWSET , sujeita aos recursos do provedor.
COM (<table_hint_limited> [... n] )
Especifica uma ou mais dicas de tabela permitidas para uma tabela de destino. A palavra-chave WITH e os parênteses são obrigatórios. NOLOCK e READUNCOMMITTED não são permitidos. Para obter mais informações sobre dicas de tabela, consulte Dicas de tabela (Transact-SQL).
<OUTPUT_Clause>
Retorna linhas excluídas, ou expressões baseadas nelas, como parte da operação DELETE. A cláusula OUTPUT não é suportada em nenhuma instrução DML direcionada a exibições ou tabelas remotas. Para obter mais informações sobre os argumentos e o comportamento dessa cláusula, consulte Cláusula OUTPUT (Transact-SQL).
DE table_source
Especifica uma cláusula FROM adicional. Esta extensão Transact-SQL para DELETE permite especificar dados de <table_source> e excluir as linhas correspondentes da tabela na primeira cláusula FROM.
Essa extensão, especificando uma associação, pode ser usada em vez de uma subconsulta na cláusula WHERE para identificar as linhas a serem removidas.
Para obter mais informações, consulte FROM (Transact-SQL).
WHERE
Especifica as condições usadas para limitar o número de linhas excluídas. Se uma cláusula WHERE não for fornecida, DELETE removerá todas as linhas da tabela.
Existem duas formas de operações de eliminação com base no especificado na cláusula WHERE:
As exclusões pesquisadas especificam uma condição de pesquisa para qualificar as linhas a serem excluídas. Por exemplo, WHERE column_name = valor.
As exclusões posicionadas usam a cláusula CURRENT OF para especificar um cursor. A operação de exclusão ocorre na posição atual do cursor. Isso pode ser mais preciso do que uma instrução DELETE pesquisada que usa uma cláusula WHERE search_condition para qualificar as linhas a serem excluídas. Uma instrução DELETE pesquisada exclui várias linhas se a condição de pesquisa não identificar exclusivamente uma única linha.
<search_condition>
Especifica as condições restritivas para as linhas a serem excluídas. Não há limite para o número de predicados que podem ser incluídos em uma condição de pesquisa. Para obter mais informações, consulte Condição de pesquisa (Transact-SQL).
CORRENTE DE
Especifica que o DELETE é executado na posição atual do cursor especificado.
GLOBAL
Especifica que cursor_name se refere a um cursor global.
cursor_name
É o nome do cursor aberto a partir do qual a busca é feita. Se existirem um cursor global e um cursor local com o nome cursor_name , este argumento refere-se ao cursor global se GLOBAL for especificado; caso contrário, refere-se ao cursor local. O cursor deve permitir atualizações.
cursor_variable_name
O nome de uma variável de cursor. A variável cursor deve fazer referência a um cursor que permita atualizações.
OPÇÃO (<query_hint> [ ,... n] )
Palavras-chave que indicam quais dicas do otimizador são usadas para personalizar a maneira como o Mecanismo de Banco de Dados processa a instrução. Para obter mais informações, consulte Sugestões de Consulta (Transact-SQL).
Melhores práticas
Para excluir todas as linhas de uma tabela, use TRUNCATE TABLE.
TRUNCATE TABLE é mais rápido que o DELETE e usa menos recursos do sistema e do log de transações.
TRUNCATE TABLE tem restrições, por exemplo, a tabela não pode participar da replicação. Para obter mais informações, consulte TRUNCATE TABLE (Transact-SQL)
Use a @@ROWCOUNT função para retornar o número de linhas excluídas para o aplicativo cliente. Para obter mais informações, consulte @@ROWCOUNT (Transact-SQL).
Tratamento de erros
Você pode implementar o tratamento de erros para a instrução DELETE especificando a instrução em uma TRY...CATCH construção.
A DELETE instrução pode falhar se violar um gatilho ou tentar remover uma linha referenciada por dados em outra tabela com uma FOREIGN KEY restrição. Se a DELETE remoção de várias linhas e qualquer uma das linhas removidas violar um gatilho ou restrição, a instrução será cancelada, um erro será retornado e nenhuma linha será removida.
Quando uma instrução DELETE encontra um erro aritmético (estouro, divisão por zero ou um erro de domínio) que ocorre durante a avaliação da expressão, o Mecanismo de Banco de Dados lida com esses erros como se estivesse definido como ON SET ARITHABORT . O restante do lote é cancelado e uma mensagem de erro é retornada.
Interoperability
DELETE pode ser usado no corpo de uma função definida pelo usuário se o objeto modificado for uma variável de tabela.
Ao excluir uma linha que contém uma coluna FILESTREAM, você também exclui seus arquivos de sistema de arquivos subjacentes. Os arquivos subjacentes são removidos pelo coletor de lixo FILESTREAM. Para obter mais informações, consulte Access FILESTREAM Data with Transact-SQL.
A cláusula FROM não pode ser especificada em uma instrução DELETE que faz referência, direta ou indiretamente, a uma exibição com um INSTEAD OF gatilho definido nela. Para obter mais informações sobre INSTEAD OF triggers, consulte CREATE TRIGGER (Transact-SQL).
Atualmente, a cláusula FROM não pode ser especificada em uma instrução DELETE no Warehouse no Microsoft Fabric.
Limitações e Restrições
Quando TOP é usado com DELETE, as linhas referenciadas não são organizadas em qualquer ordem e a ORDER BY cláusula não pode ser especificada diretamente nesta instrução. Se você precisar usar TOP para excluir linhas em uma ordem cronológica significativa, deverá usar TOP juntamente com uma ORDER BY cláusula em uma instrução subselect. Consulte a seção Exemplos a seguir neste tópico.
TOP não pode ser usado em uma DELETE instrução contra modos de exibição particionados.
Comportamento de bloqueio
Por padrão, uma DELETE instrução sempre adquire um bloqueio exclusivo de intenção (IX) no objeto da tabela e nas páginas que ele modifica, um bloqueio exclusivo (X) nas linhas que modifica e mantém esses bloqueios até que a transação seja concluída.
Com um bloqueio exclusivo de intenção (IX), nenhuma outra transação pode modificar o mesmo conjunto de dados, as operações de leitura podem ocorrer apenas com o uso da dica NOLOCK ou o nível de isolamento de leitura não comprometida. Você pode especificar dicas de tabela para substituir esse comportamento padrão durante a duração da instrução DELETE especificando outro método de bloqueio, no entanto, recomendamos que as dicas sejam usadas apenas como último recurso por desenvolvedores e administradores de banco de dados experientes. Para obter mais informações, consulte Sugestões para tabelas (Transact-SQL).
Quando as linhas são excluídas de uma pilha, o Mecanismo de Banco de Dados pode usar o bloqueio de linha ou página para a operação. Como resultado, as páginas tornadas vazias pela operação de exclusão permanecem alocadas para a pilha. Quando páginas vazias não são deslocalizadas, o espaço associado não pode ser reutilizado por outros objetos no banco de dados.
Para excluir linhas em uma pilha e desalocar páginas, use um dos seguintes métodos.
Especifique a dica
TABLOCKDELETEna instrução. Usar a dicaTABLOCKfaz com que a operação de exclusão tenha um bloqueio IX no objeto em vez de um bloqueio de linha ou página. Isso permite que as páginas sejam deslocalizadas. Para obter mais informações sobre aTABLOCKdica, consulte Dicas de tabela (Transact-SQL).Use
TRUNCATE TABLEse todas as linhas devem ser excluídas da tabela.Crie um índice clusterizado na pilha antes de excluir as linhas. Você pode soltar o índice clusterizado depois que as linhas forem excluídas. Este método é mais demorado do que os métodos anteriores e usa mais recursos temporários.
Note
As páginas vazias podem ser removidas de uma pilha a qualquer momento usando a ALTER TABLE <table_name> REBUILD instrução.
Se o bloqueio otimizado estiver habilitado, alguns aspetos do comportamento de bloqueio serão DELETE alterados. Por exemplo, bloqueios exclusivos (X) não são mantidos até que a transação seja concluída. Para obter mais informações, consulte Bloqueio otimizado.
Comportamento de Registo
A instrução DELETE é sempre totalmente registrada.
Segurança
Permissions
DELETE As permissões são necessárias na tabela de destino.
SELECT As permissões também são necessárias se a instrução contiver uma cláusula WHERE.
Permissões DELETE padrão para membros da sysadmin função de servidor fixa, as funções de banco de dados fixo db_ownerdb_datawriter e e o proprietário da tabela. Os membros do sysadmin, db_ownere as db_securityadmin funções, e o proprietário da tabela podem transferir permissões para outros usuários.
Examples
| Category | Elementos de sintaxe em destaque |
|---|---|
| Sintaxe básica | DELETE |
| Limitar as linhas eliminadas | ONDE * DE * cursor * |
| Eliminar linhas de uma tabela remota | Servidor vinculado * Função de conjunto de linhas OPENQUERY * Função de conjunto de linhas OPENDATASOURCE |
| Capturando os resultados da instrução DELETE | Cláusula OUTPUT |
Sintaxe básica
Os exemplos nesta seção demonstram a funcionalidade básica da instrução DELETE usando a sintaxe mínima necessária.
A. Usando DELETE sem cláusula WHERE
O exemplo seguinte elimina todas as linhas da SalesPersonQuotaHistory tabela na base de dados AdventureWorks2025 porque uma cláusula WHERE não é usada para limitar o número de linhas eliminadas.
DELETE FROM Sales.SalesPersonQuotaHistory;
GO
Limitando as linhas excluídas
Exemplos nesta seção demonstram como limitar o número de linhas que serão excluídas.
B. Usando a cláusula WHERE para excluir um conjunto de linhas
O exemplo seguinte elimina todas as linhas da ProductCostHistory tabela na base de dados AdventureWorks2025 em que o valor na StandardCost coluna é maior que 1000.00.
DELETE FROM Production.ProductCostHistory
WHERE StandardCost > 1000.00;
GO
O exemplo a seguir mostra uma cláusula WHERE mais complexa. A cláusula WHERE define duas condições que devem ser cumpridas para determinar as linhas a serem excluídas. O valor na StandardCost coluna deve estar entre 12.00 e e 14.00 o valor na coluna SellEndDate deve ser nulo. O exemplo também imprime o valor da função @@ROWCOUNT para retornar o número de linhas excluídas.
DELETE Production.ProductCostHistory
WHERE StandardCost BETWEEN 12.00 AND 14.00
AND EndDate IS NULL;
PRINT 'Number of rows deleted is ' + CAST(@@ROWCOUNT as char(3));
C. Usando um cursor para determinar a linha a ser excluída
O exemplo seguinte elimina uma única linha da EmployeePayHistory tabela na base de dados AdventureWorks2025 usando um cursor chamado complex_cursor. A operação de exclusão afeta apenas a única linha atualmente buscada no cursor.
DECLARE complex_cursor CURSOR FOR
SELECT a.BusinessEntityID
FROM HumanResources.EmployeePayHistory AS a
WHERE RateChangeDate <>
(SELECT MAX(RateChangeDate)
FROM HumanResources.EmployeePayHistory AS b
WHERE a.BusinessEntityID = b.BusinessEntityID) ;
OPEN complex_cursor;
FETCH FROM complex_cursor;
DELETE FROM HumanResources.EmployeePayHistory
WHERE CURRENT OF complex_cursor;
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
GO
D. Usando junções e subconsultas a dados em uma tabela para excluir linhas em outra tabela
Os exemplos a seguir mostram duas maneiras de excluir linhas em uma tabela com base nos dados de outra tabela. Em ambos os exemplos, as linhas da SalesPersonQuotaHistory tabela na base de dados AdventureWorks2025 são eliminadas com base nas vendas acumuladas na SalesPerson tabela. A primeira DELETE instrução mostra a solução de subconsulta compatível com ISO e a segunda DELETE instrução mostra a extensão Transact-SQL FROM para unir as duas tabelas.
-- SQL-2003 Standard subquery
DELETE FROM Sales.SalesPersonQuotaHistory
WHERE BusinessEntityID IN
(SELECT BusinessEntityID
FROM Sales.SalesPerson
WHERE SalesYTD > 2500000.00);
GO
-- Transact-SQL extension
DELETE FROM Sales.SalesPersonQuotaHistory
FROM Sales.SalesPersonQuotaHistory AS spqh
INNER JOIN Sales.SalesPerson AS sp
ON spqh.BusinessEntityID = sp.BusinessEntityID
WHERE sp.SalesYTD > 2500000.00;
GO
-- No need to mention target table more than once.
DELETE spqh
FROM
Sales.SalesPersonQuotaHistory AS spqh
INNER JOIN Sales.SalesPerson AS sp
ON spqh.BusinessEntityID = sp.BusinessEntityID
WHERE sp.SalesYTD > 2500000.00;
E. Usando TOP para limitar o número de linhas excluídas
Quando uma cláusula TOP (n) é usada com DELETE, a operação delete é executada em uma seleção aleatória de n número de linhas. O exemplo seguinte elimina 20 linhas aleatórias da PurchaseOrderDetail tabela na base de dados AdventureWorks2025 que têm prazos anteriores a 1 de julho de 2006.
DELETE TOP (20)
FROM Purchasing.PurchaseOrderDetail
WHERE DueDate < '20020701';
GO
Se você tiver que usar TOP para excluir linhas em uma ordem cronológica significativa, deverá usar TOP junto com ORDER BY em uma instrução subselect. A consulta a seguir exclui as 10 linhas da tabela PurchaseOrderDetail que têm as datas de vencimento mais antigas. Para garantir que apenas 10 linhas sejam excluídas, a coluna especificada na instrução subselect (PurchaseOrderID) é a chave primária da tabela. O uso de uma coluna não-chave na instrução subselect pode resultar na exclusão de mais de 10 linhas se a coluna especificada contiver valores duplicados.
DELETE FROM Purchasing.PurchaseOrderDetail
WHERE PurchaseOrderDetailID IN
(SELECT TOP 10 PurchaseOrderDetailID
FROM Purchasing.PurchaseOrderDetail
ORDER BY DueDate ASC);
GO
Excluindo linhas de uma tabela remota
Os exemplos nesta seção demonstram como excluir linhas de uma tabela remota usando um servidor vinculado ou uma função de conjunto de linhas para fazer referência à tabela remota. Existe uma tabela remota em um servidor ou instância diferente do SQL Server.
Aplica-se a: SQL Server 2008 (10.0.x) e posterior.
F. Excluindo dados de uma tabela remota usando um servidor vinculado
O exemplo a seguir exclui linhas de uma tabela remota. O exemplo começa criando um link para a fonte de dados remota usando sp_addlinkedserver. O nome do servidor vinculado, MyLinkServer, é então especificado como parte do nome do objeto de quatro partes no formato server.catalog.schema.object.
USE master;
GO
-- Create a link to the remote data source.
-- Specify a valid server name for @datasrc as 'server_name' or 'server_name\instance_name'.
EXEC sp_addlinkedserver @server = N'MyLinkServer',
@srvproduct = N' ',
@provider = N'SQLNCLI',
@datasrc = N'server_name',
@catalog = N'AdventureWorks2022';
GO
-- Specify the remote data source using a four-part name
-- in the form linked_server.catalog.schema.object.
DELETE MyLinkServer.AdventureWorks2022.HumanResources.Department
WHERE DepartmentID > 16;
GO
G. Excluindo dados de uma tabela remota usando a função OPENQUERY
O exemplo a seguir exclui linhas de uma tabela remota especificando a função de conjunto de linhas OPENQUERY . O nome do servidor vinculado criado no exemplo anterior é usado neste exemplo.
DELETE OPENQUERY (MyLinkServer, 'SELECT Name, GroupName
FROM AdventureWorks2022.HumanResources.Department
WHERE DepartmentID = 18');
GO
H. Excluindo dados de uma tabela remota usando a função OPENDATASOURCE
O exemplo a seguir exclui linhas de uma tabela remota especificando a função de conjunto de linhas OPENDATASOURCE . Especifique um nome de servidor válido para a fonte de dados usando o formato server_name ou server_name\instance_name.
DELETE FROM OPENDATASOURCE('SQLNCLI',
'Data Source= <server_name>; Integrated Security=SSPI')
.AdventureWorks2022.HumanResources.Department
WHERE DepartmentID = 17;
Capturando os resultados da instrução DELETE
I. Usando DELETE com a cláusula OUTPUT
O exemplo seguinte mostra como guardar os resultados de uma DELETE instrução numa variável de tabela na base de dados AdventureWorks2025.
DELETE Sales.ShoppingCartItem
OUTPUT DELETED.*
WHERE ShoppingCartID = 20621;
--Verify the rows in the table matching the WHERE clause have been deleted.
SELECT COUNT(*) AS [Rows in Table]
FROM Sales.ShoppingCartItem
WHERE ShoppingCartID = 20621;
GO
J. Usando OUTPUT com <from_table_name> em uma instrução DELETE
O exemplo seguinte elimina linhas na ProductProductPhoto tabela da base de dados AdventureWorks2025 com base nos critérios de pesquisa definidos na FROM cláusula da DELETE instrução. A OUTPUT cláusula retorna colunas da tabela que está sendo excluída, DELETED.ProductID, DELETED.ProductPhotoIDe colunas da Product tabela. Isso é usado na FROM cláusula para especificar as linhas a serem excluídas.
DECLARE @MyTableVar table (
ProductID int NOT NULL,
ProductName nvarchar(50)NOT NULL,
ProductModelID int NOT NULL,
PhotoID int NOT NULL);
DELETE Production.ProductProductPhoto
OUTPUT DELETED.ProductID,
p.Name,
p.ProductModelID,
DELETED.ProductPhotoID
INTO @MyTableVar
FROM Production.ProductProductPhoto AS ph
JOIN Production.Product as p
ON ph.ProductID = p.ProductID
WHERE p.ProductModelID BETWEEN 120 and 130;
--Display the results of the table variable.
SELECT ProductID, ProductName, ProductModelID, PhotoID
FROM @MyTableVar
ORDER BY ProductModelID;
GO
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
K. Eliminar todas as linhas de uma tabela
O exemplo a seguir exclui todas as linhas da Table1 tabela porque uma cláusula WHERE não é usada para limitar o número de linhas excluídas.
DELETE FROM Table1;
L. EXCLUIR um conjunto de linhas de uma tabela
O exemplo a seguir exclui todas as linhas da Table1 tabela que têm um valor maior que 1000,00 na StandardCost coluna.
DELETE FROM Table1
WHERE StandardCost > 1000.00;
M. Usando LABEL com uma instrução DELETE
O exemplo a seguir usa um rótulo com a instrução DELETE.
DELETE FROM Table1
OPTION ( LABEL = N'label1' );
N. Usando um rótulo e uma dica de consulta com a instrução DELETE
Esta consulta mostra a sintaxe básica para usar uma dica de junção de consulta com a instrução DELETE. Para obter mais informações sobre dicas de junção e como usar a cláusula OPTION, consulte OPTION Clause (Transact-SQL).
-- Uses AdventureWorks
DELETE FROM dbo.FactInternetSales
WHERE ProductKey IN (
SELECT T1.ProductKey FROM dbo.DimProduct T1
JOIN dbo.DimProductSubcategory T2
ON T1.ProductSubcategoryKey = T2.ProductSubcategoryKey
WHERE T2.EnglishProductSubcategoryName = 'Road Bikes' )
OPTION ( LABEL = N'CustomJoin', HASH JOIN ) ;
O. Suprimir utilizando uma cláusula WHERE
Esta consulta mostra como excluir usando uma cláusula WHERE e não usando uma cláusula FROM.
DELETE tableA WHERE EXISTS (
SELECT TOP 1 FROM tableB tb WHERE tb.col1 = tableA.col1
)
P. Excluir com base no resultado da junção com outra tabela
Este exemplo mostra como excluir de uma tabela com base no resultado da junção com outra tabela.
CREATE TABLE dbo.Table1
(ColA int NOT NULL, ColB decimal(10,3) NOT NULL);
GO
CREATE TABLE dbo.Table2
(ColA int PRIMARY KEY NOT NULL, ColB decimal(10,3) NOT NULL);
GO
INSERT INTO dbo.Table1 VALUES(1, 10.0), (1, 20.0);
INSERT INTO dbo.Table2 VALUES(1, 0.0);
GO
DELETE dbo.Table2
FROM dbo.Table2
INNER JOIN dbo.Table1
ON (dbo.Table2.ColA = dbo.Table1.ColA)
WHERE dbo.Table2.ColA = 1;
Ver também
CRIAR GATILHO (Transact-SQL)
INSERIR (Transact-SQL)
SELECIONAR (Transact-SQL)
MESA TRUNCATE (Transact-SQL)
ATUALIZAÇÃO (Transact-SQL)
COM common_table_expression (Transact-SQL)
@@ROWCOUNT (Transact-SQL)