Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/04/2011, 10h56   #1
Invité régulier
 
Inscription : juillet 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 95
Points : 7
Points : 7
Par défaut Vider une table sous SQL Server

Bonjour,

Est ce qu'il y a un moyen de vider une table dans SQL Server sans utiliser une requete parce que j'ai utilisé la requete suivante et ça n'a pas marché (ça reste dans le débogage):

Code :
1
2
3
4
5
6
7
8
9
USE [PFE]
GO
 
/****** Object:  Table [dbo].[Ressources]    Script Date: 04/20/2011 09:39:07 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Ressources]') AND type IN (N'U'))
 
DELETE TOP(700) FROM [dbo].[Ressources]
 
GO
Et merci d'avance.
phenomeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 11h09   #2
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour,

Sans requete, non !

Vous avez deux possibilités :
La classique :

Code SQL :
1
2
 
DELETE FROM MaTable

ou un truncate
Code SQL :
1
2
 
TRUNCATE TABLE MaTable
pour cette deuxième solution, la table ne doit pas avoir de référence d'intégrité... mais elle est plus rapide


qu'entendez vous par
Citation:
ça n'a pas marché (ça reste dans le débogage)
La requete ne se termine pas ?

Il peut y avoir plusieurs raisons à cela, dont notamment :
1/ une transaction non terminée a posé un verrou sur cette table. Dans ce cas, votre requete attend gentillement que le verou soit retiré...
Pour voir cela, vous pouvez exécuter sp_who2, et vérifier si votre requête n'est pas bloquée par une autre (colonne BlkBy)

2/ vous avez une vue indexée qui porte sur cette table. ceci peut engendrer selon la vue un surcout parfois important pour la suppression...

Donnez nous un peu plus de détails...
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 12h05   #3
Invité régulier
 
Inscription : juillet 2009
Messages : 95
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 95
Points : 7
Points : 7
Merci beaucoup,
Le delete marche bien.
phenomeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 12h09   #4
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573


Vous deviez être dans le cas 1 alors, et la transaction est terminée depuis votre premier essai...

Car votre delete top(700) aurait du passer aussi bien (sinon mieux) qu'un delete from...
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 12h48   #5
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Citation:
Envoyé par aieeeuuuuu Voir le message
Car votre delete top(700) aurait du passer aussi bien (sinon mieux) qu'un delete from...
Pas forcément... La lecture d'un index et le marquage ligne à ligne des slots en tant que fantôme est plus lente que de marquer toutes les pages de la table à deleted !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h15.


 
 
 
 
Partenaires

Hébergement Web