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 : Sélectionner tout - Visualiser dans une fenêtre à part
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