Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL:CANCELLA i dati dalla tabella autoreferenziale in un ordine specifico

Prova

ALTER TABLE [group] NOCHECK CONSTRAINT ALL
go
DELETE FROM [group] WHERE [groupId] <> '00000000-0000-0000-0000-000000000000'
go
ALTER TABLE [group] CHECK CONSTRAINT ALL
go

Se il tavolo è grande, questa potrebbe essere una buona opzione.

select * into #temptable from [group] WHERE [groupId] = '00000000-0000-0000-0000-000000000000'
go
truncate table [group]
go
select * into [group] from #temptable
go
drop table #temptable
go