Estou tentando otimizar um gatilho em uma tabela em um banco de dados de terceiros. Não tenho permissão para alterar ou adicionar nenhuma coluna ao esquema.
A tabela possui uma chave primária composta, uma coluna é um número inteiro e a outra é nvarchar.
Como posso recuperar as linhas excluídas sem usar uma tabela temporária?
No momento, estou concatenando as chaves em uma string na cláusula where assim:
SELECT FROM deleted WHERE (deleted.a + CAST(deleted.b as nvarchar)
NOT IN (SELECT deleted.a + CAST(deleted.b as nvarchar)
FROM inserted, deleted
WHERE inserted.a = deleted.a
and inserted.b = deleted.b))
Eu também tentei várias variantes deleted.%%physloc%%
de tentativas, mas sem sorte. Existe alguma maneira mais elegante de filtrar os registros excluídos?
Se eu estou lendo certo, isso deve funcionar:
Sobre o comentário de srutzky
Isso não é verdade no caso de chaves primárias atualizáveis.
Resultados