Bonjour,

je désire supprimer une contrainte de clés étrangères. Le problème est que le nom de la contrainte a été générée automatique avec la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 ALTER TABLE table ADD FOREIGN KEY Cle REFERENCES Price Cle;
Pour la supprimer pas de problème c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ALTER TABLE Job DROP CONSTRAINT nom_contrainte
Pour récupérer le nom de la contrainte c'est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT CONSTRAINT_NAME 
	FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
	WHERE (TABLE_NAME = 'JOB') AND (CONSTRAINT_NAME LIKE '%Cle%')
Jusque là facile....


Maintenant le problème c'est que je veux faire ca en automatique.
J'ai trouvé cette facon de faire qui m'affiche a la fin la bonne requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT 'ALTER TABLE table DROP CONSTRAINT '+ CONSTRAINT_NAME 
	FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
	WHERE (TABLE_NAME = 'JOB') AND (CONSTRAINT_NAME LIKE '%Cle%')
Mais j'ai l'impression que la commande après ne s'exécute pas.

J'ai aussi essayé de passer par des procédures et fonction avec pointeur sur le résultat mais je n'y arrive pas non plus quelqu'un aurait-il une idée?

Merci d'avance.