OVH Cloud OVH Cloud

requete sql

5 réponses
Avatar
olivier
Bonjour,

Je fais une requete sur sql server.

INSERT INTO HISTO_ANNONCES SELECT * FROM affaires AS AFF WHERE
aff.aff_date_maj < DATEADD(month,-3,getdate()) order by aff_date_maj Asc

J'ai l'erreur suivante :

Serveur : Msg 8101, Niveau 16, État 1, Ligne 4
Une valeur explicite e la colonne identité de la table 'HISTO_ANNONCES' ne
peut être spécifiée que si on fait appel à la liste des colonne et si
IDENTITY_INSERT est ON.

J'ai les memes colonnes que ma table affaires dans hist_annonces, sauf que
j'ai rajoute un pk supplementaire dans hist_annnonces
et que le pk de affaires est juste en integer dans hist_annonces , sans
compteur.

Avez vous une idée ?

Olivier

5 réponses

Avatar
Christophe
c'est parce que tu essais d'inserer une valeur dans un champ identity en
faisant ton
select *

precise les champs sans mettre le champ identity !




"olivier" a écrit dans le message de
news:%
Bonjour,

Je fais une requete sur sql server.

INSERT INTO HISTO_ANNONCES SELECT * FROM affaires AS AFF WHERE
aff.aff_date_maj < DATEADD(month,-3,getdate()) order by aff_date_maj Asc

J'ai l'erreur suivante :

Serveur : Msg 8101, Niveau 16, État 1, Ligne 4
Une valeur explicite e la colonne identité de la table 'HISTO_ANNONCES' ne
peut être spécifiée que si on fait appel à la liste des colonne et si
IDENTITY_INSERT est ON.

J'ai les memes colonnes que ma table affaires dans hist_annonces, sauf que
j'ai rajoute un pk supplementaire dans hist_annnonces
et que le pk de affaires est juste en integer dans hist_annonces , sans
compteur.

Avez vous une idée ?

Olivier







Avatar
olivier
Salut christophe,

Comme je disais dans un autre forum,
j'ai 66 champs à taper à la main
et j'aimerais tout sauvegarder.

As tu une idée ? pour que cela puisse fonctionner.

Olivier



"Christophe" a écrit dans le message de news:
%
c'est parce que tu essais d'inserer une valeur dans un champ identity en
faisant ton
select *

precise les champs sans mettre le champ identity !




"olivier" a écrit dans le message de
news:%
Bonjour,

Je fais une requete sur sql server.

INSERT INTO HISTO_ANNONCES SELECT * FROM affaires AS AFF WHERE
aff.aff_date_maj < DATEADD(month,-3,getdate()) order by aff_date_maj Asc

J'ai l'erreur suivante :

Serveur : Msg 8101, Niveau 16, État 1, Ligne 4
Une valeur explicite e la colonne identité de la table 'HISTO_ANNONCES'
ne
peut être spécifiée que si on fait appel à la liste des colonne et si
IDENTITY_INSERT est ON.

J'ai les memes colonnes que ma table affaires dans hist_annonces, sauf
que
j'ai rajoute un pk supplementaire dans hist_annnonces
et que le pk de affaires est juste en integer dans hist_annonces , sans
compteur.

Avez vous une idée ?

Olivier











Avatar
Rudi Bruchez
olivier a écrit:

Comme je disais dans un autre forum,
j'ai 66 champs à taper à la main
et j'aimerais tout sauvegarder.



Salut,

Pour copier une liste de colonnes dans ton code, dans Query Analyzer /
SSMS:
object explorer (= la liste des objets de bases de données à gauche)
-> sélectionne le sous noeud 'columns' de ta table
-> drag and drop dans ta fenêtre de code.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/
Avatar
Christian Robert
Bonsoir,

SELECT *
INTO Nouvelle Table
FROM AncienneTable

Ca aide beaucoup, çà créé la nouvelle table sans identity, et çà fait
l'insert into automatiquement. Attention à ne pas utiliser vers une table qui
existe déjà, çà ne marcherait pas.

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD
MCTS & MCITP SQL Server 2005


"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :

olivier a écrit:

> Comme je disais dans un autre forum,
> j'ai 66 champs à taper à la main
> et j'aimerais tout sauvegarder.

Salut,

Pour copier une liste de colonnes dans ton code, dans Query Analyzer /
SSMS:
object explorer (= la liste des objets de bases de données à gauche)
-> sélectionne le sous noeud 'columns' de ta table
-> drag and drop dans ta fenêtre de code.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/



Avatar
olivier
Merci à tous,


JE vais enlever mon PK sur ma table destination afin de respecter le MCD.

Olivier


"olivier" a écrit dans le message de news:
%
Bonjour,

Je fais une requete sur sql server.

INSERT INTO HISTO_ANNONCES SELECT * FROM affaires AS AFF WHERE
aff.aff_date_maj < DATEADD(month,-3,getdate()) order by aff_date_maj Asc

J'ai l'erreur suivante :

Serveur : Msg 8101, Niveau 16, État 1, Ligne 4
Une valeur explicite e la colonne identité de la table 'HISTO_ANNONCES' ne
peut être spécifiée que si on fait appel à la liste des colonne et si
IDENTITY_INSERT est ON.

J'ai les memes colonnes que ma table affaires dans hist_annonces, sauf que
j'ai rajoute un pk supplementaire dans hist_annnonces
et que le pk de affaires est juste en integer dans hist_annonces , sans
compteur.

Avez vous une idée ?

Olivier