[SQL] Comment sélectionner toutes les colonnes sauf celles précisées ?

Comment sélectionner toutes les colonnes sauf celles précisées ? [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 13-09-2002 à 10:44:17    

Mon problème est que je veux créer une ligne identique à une ligne existante (ligne existante étant considérée comme un "template" ) :

Citation :

INSERT INTO MA_TABLE
   SELECT * FROM MA_TABLE WHERE MA_TABLE.id = :id_template


Le problème, c'est que l'une des colonnes, en l'occurrence "id", est auto-incrémentée ; du coup, le SGBD refuse l'INSERT avec l'erreur "An explicit value for the identity field in table MA_TABLE' can only be specified in an insert statement when a field list is used.". D'autre part, comme j'ai beaucoup de colonnes dans cette table, j'aimerais autant pouvoir éviter de les lister toutes.
 
Donc ce que je voudrais faire, c'est pouvoir dire un truc du genre "SELECT (tout-sauf id) FROM ...."

Reply

Marsh Posté le 13-09-2002 à 10:44:17   

Reply

Marsh Posté le 13-09-2002 à 11:07:49    

Impossible, pas prévu dans la nomenclature SQL.
De plus, les * c'est pas conseillé.

Reply

Marsh Posté le 13-09-2002 à 13:47:38    

insert into table[colonne1, colonne2]
select a,b from x where y=w

Reply

Marsh Posté le 13-09-2002 à 14:43:00    

C'est quel SGBD ?

Reply

Marsh Posté le 13-09-2002 à 14:57:19    

si id est autoincrémentée c'est normal tu ne pourra pas copier exactement ta ligne

Reply

Marsh Posté le 13-09-2002 à 17:15:23    


il faut  que tu rentres tout les champs sauf le id

Reply

Marsh Posté le 13-09-2002 à 18:08:06    

Bon bah c'est ce que je me suis résolu à faire...  
 
Merci à vous. :)

Reply

Sujets relatifs:

Leave a Replay

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