Supprimer une "CONSTRAINT"

Supprimer une "CONSTRAINT" - SQL/NoSQL - Programmation

Marsh Posté le 11-03-2005 à 10:22:17    

Bonjour.
Qui pourrait me donner la syntaxe exacte (ou un lien):
ALTER TABLE T_X DROP CONSTRAINT REFERENCES ...
J'utilise IB6 et tourne en rond.
Merci.

Reply

Marsh Posté le 11-03-2005 à 10:22:17   

Reply

Marsh Posté le 11-03-2005 à 11:07:07    

chamac a écrit :

Bonjour.
Qui pourrait me donner la syntaxe exacte (ou un lien):
ALTER TABLE T_X DROP CONSTRAINT REFERENCES ...
J'utilise IB6 et tourne en rond.
Merci.


 
Syntaxe pour Oracle
 
ALTER TABLE Nom_Table  
  |
  { MODIFY CONSTRAINT nom_contrainte définition_contrainte
  |
  DROP
  { PRIMARY KEY | UNIQUE ( nom_colonne [, nom_colonneN] ) }
      | CONSTRAINT nom_contrainte
  }
  |
  { ADD nom_colonne type_donnée [, nom_colonneN type_donnée ]
  | MODIFY ( nom_colonne [type_donnée] [ définition_contrainte ]
              [, nom_colonneN [type_donnée] [ définition_contrainte ] ]
  | DROP [ COLUMN ]
              nom_colonne | ( nom_colonne [, nom_colonneN ] )
        [ CASCADE CONSTRAINT ] | INVALIDATE
  }
 
 
Syntaxe pour SQL Server
 
ALTER TABLE table
{ [ ALTER COLUMN nom_colonne nouveau_type ]
  | ADD
      { [ nom_colonne nouveau_type ]
        | nom_colonne AS expression_colonne_calculée
      } [ ,...n ]
  | [ WITH CHECK | WITH NOCHECK ] ADD
        { définition_contrainte } [ ,...n ]
  | DROP
        { [ CONSTRAINT ] nom_contrainte  
        | COLUMN nom_colonne } [ ,...n ]
  | { CHECK | NOCHECK } CONSTRAINT  
        { ALL | nom_contrainte [ ,...n ] }


Message édité par Heaven11 le 11-03-2005 à 11:07:54
Reply

Marsh Posté le 11-03-2005 à 16:50:46    

en gros: ALTER TABLE nomtable DROP CONSTRAINT nomcontrainte;
 
c'est quand même plus clair, enfin je trouve

Reply

Marsh Posté le 12-03-2005 à 16:19:43    

OK merci mais cela ne résoud pas mon problème :
ALTER TABLE T_GROUPE DROP CONSTRAINT REFERENCES;
par exemple j'ai un message d'erreur [Token unknown - line 1, char 37 REFERENCES ]
Je n'arrive pas à trouver la bonne syntaxe. C'est pourtant la forme indiquée dans la doc de Interbase 6.
J'ai été obligé de sacrifier mes données et de recréer les tables.  
Si d'autres idées merci.

Reply

Marsh Posté le 13-03-2005 à 10:23:40    

ben on t'a donné la bonne syntaxe, c'est toi qui te gourre totalement....
 
juste: ALTER TABLE nomtable DROP CONSTRAINT nomcontrainte;  
faux : ALTER TABLE T_GROUPE DROP CONSTRAINT REFERENCES;  
 
alors ce qui est faut c'est ton REFERENCES, ce que tu dois mettre c'est le nom de la contrainte, chaque contrainte à un nom bien sure, soit un nom que tu as défini toi même soit un nom que le SGBD à donné à ta contrainte, à toi de chercher le nom de la contrainte...

Reply

Marsh Posté le 13-03-2005 à 13:19:45    

chamac a écrit :

OK merci mais cela ne résoud pas mon problème :
ALTER TABLE T_GROUPE DROP CONSTRAINT REFERENCES;
par exemple j'ai un message d'erreur [Token unknown - line 1, char 37 REFERENCES ]
Je n'arrive pas à trouver la bonne syntaxe. C'est pourtant la forme indiquée dans la doc de Interbase 6.
J'ai été obligé de sacrifier mes données et de recréer les tables.  
Si d'autres idées merci.


references ça peut pas être le nom de la contrainte, c'est un mot réservé. Ou alors tente 'references' si la contraintes s'appelle vraiment references :/

Reply

Marsh Posté le 15-03-2005 à 10:48:36    

C'est bon j'ai enfin trouvé le nom de la contrainte.
Merci.

Reply

Marsh Posté le 29-01-2008 à 18:52:43    

Bonjour,
 
Nouvelle arrivante sur le forum, je me retourne vers vous pour un souci de requête de suppression de clés étrangères en SQL.
Je souhaiterai savoir quelle est la syntaxe pour vérifier l'existance d'une foreign key avant de la supprimer (par un "if exists" par exemple)? Est-ce-que cela est possible? et est-ce-que quelqu'un connaîtrait la syntaxe.
 
Merci d'avance,

Reply

Marsh Posté le 31-01-2008 à 14:32:27    

Le plus simple sous Oracle, c'est de consulter les tables système.
 
http://www.techonthenet.com/oracle/sys_tables/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed