Delete d'une table complete
Bonjour,
Je souhaite supprimer les données totales d'une table, j'ai essayé le truncat (ce qui est apparemment le plus performant), mais cela ne fonctionne pas pour toute les tables.
Certaines tables ont des FK, j'ai essayé de les désactiver (ALTER TABLE [TABLENAME] NOCHECK CONSTRAINT ALL), mais même désactivées j'ai encore un message d'erreur.
Ensuite j'ai commencé par faire un delete From [TABLENAME], mais j'ai des tables de plusieurs millions d’enregistrements. et cela met des heures...
J'ai donc écris cette petit fonction T-SQL que j’exécute, et je souhaiterais récupérer ensuite le nombre de lignes supprimées, mais si je fait un return il me met une erreur.
Comment récupérer la valeur de retour du nombre de lignes modifiées ? J'ai fait un select de ma variable, mais je l'utilise en dotnet, et la fonction est un exécute et non un dataset.
merci,
Sébastien
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Declare @RowsCount int
Declare @Current int
set @RowsCount = 0
set @Current = 0
WHILE 1 = 1
BEGIN
DELETE TOP(1000) FROM [edprd_SaisiesExpeditionAutomatique]
set @Current = @@ROWCOUNT;
SET @RowsCount = @RowsCount + @Current ;
IF @Current = 0
BREAK
END
SELECT 'RowsCount' = @RowsCount |
Delete d'une table complète
Bon, je suis un peu débutante en SQL Server alors je manque de vocabulaire en la matière :
Serait-il possible de mémoriser la structure de ta table (colonnes, indexes, etc), de la supprimer puis de la recréer.