|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 60 ![]() |
Bonjour,
j'ai plein de tables temporaires qui commencent par TMP_ et j'aimerai toutes les supprimer avec un script du genre : Code :
Code :
Merci. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Développeur java, access, sql server Inscription : octobre 2005 Messages : 851 ![]() |
1) Il faut mettre ta requête "SELECT 'DROP TABLE ' + ... " dans un curseur
2) Tu ouvres ton curseur et stockes le texte composé dans une variable @MonDrop varchar(500) 3) Tu exécutes le texte contenu dans @MonDrop avec l'instruction EXEC(@MonDrop) 4) Tu passes à l'enregistrement suivant. Si tu as des soucis avec la syntaxe, je te donnerai un coup de main.
__________________
D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser. First, make it work. Then, make it fast. Finally, make it user-friendly. Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich. |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Bonsoir,
Il n'y a pas besoin de curseurs pour faire cela. Une simple variable sql suffit. Code :
|
||
|
00
|
|
|
#4 | |||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
Sur le même principe, je ferai plutôt : Code sql :
|
|||||
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
D'ailleurs il faudrait plutôt utiliser INFORMATION_SCHEMA.TABLES à la place de INFORMATION_SCHEMA.COLUMNS
sinon vous aurez autant d'instructions DROP que de colonnes pour chaque table... : Code sql :
|
||
|
|
00
|
|
|
#6 | |||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
![]() Avec tout ca chochatown devrait pouvoir supprimer ses tables temporaires ![]() ++ |
|||
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 60 ![]() |
Merciii pour vous,
exactement ca a bien fonctionner juste j'Ai fait ces deux petites modifications sur des fautes de frappe Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
???
Quelles fautes de frappe ? Je vois trois différences entre les deux requetes : 1/ la declaration/initialisation des la variable @sql. => Les deux syntaxes se valent 2/ le retour chariot après le '; => c'est car au début je faisait un print pour voir le resultat, j'ai donc mis un saut de ligne pour que ça soit plus lisible, mais pour l'EXEC derreire, ca ne doit rien changer 3/ the last but not the least : le += transformé en =+ => là par contre je ne comprend pas, vous devez à nouveau n'avoir que la dernière ligne prise en compte, et donc une seule table supprimée D'autre part, vous avez à nouveau fait la requete sur la vue INFORMATION_SCHEMA.COLUMNS au lieu de INFORMATION_SCHEMA.TABLES Effectivement, en raison du 3/ vous n'avez pas du avoir de message d'erreur, mais vous n'avez pas non plus supprimé toutes les tables. Si vous corrigez cette erreur (3/) par contre, vous devrez vous appuyer sur la bonne vue, sinon vous allez lancer plusieurs commande DROP sur la même table, et donc avoir une erreur... |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() |
INFORMATION_SCHEMA.COLUMNS view allows you to get information about all columns for all tables and views within a database
INFORMATION_SCHEMA.TABLES view allows you to get information about all tables and views within a database |
|
00
|
Copyright © 2000-2012 - www.developpez.com