Come si può vedere dalla documentazione di DELETE, possono essere necessarie due clausole FROM
.
La prima FROM
:
DA: è una parola chiave opzionale che può essere utilizzato tra la parola chiave DELETE e la table_or_view_name bersaglio, o rowset_function_limited.
La seconda FROM
:
FROM <table_source>
: Specifica un ulteriore clausola FROM. Questa estensione Transact-SQL su DELETE consente di specificare i dati e di eliminare le righe corrispondenti dalla tabella nella prima clausola FROM.
Questa estensione, che specifica un join, può essere utilizzata al posto di una sottoquery nella clausola WHERE per identificare le righe da rimuovere.
Così, l'SQL eliminerà record dalla Products
tabella che hanno una voce corrispondente quando si è unita con #common
.
Ciò equivale (in senso) per la seguente query:
delete from [GearsDev].[dbo].[Products]
where ItemNumber in
(
select item from #common
)
Buona risposta e grazie per il link. – broke