Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec requête INSERT INTO

2 réponses
Avatar
Olivier
Bonjour,

J'ai un souci sur une requête :

Je dois faire (via ASP) une sauvegarde des chamgements d'infos qu'un membre
pourrai faire et donc j'ai un soucy sur la requete que je souhaite faire :

Table 1 :
T_Infos
id_membre (primary key)
info1
info2

Table 2 :
T_Infos_Archive
id (primary key)
id_membre
info1
info2
dtUpdate (date)
Info3 (varchar)

les tables T_Infos et T_Infos_Archive reprennent les même champs sauf que
dans la table T_Infos_Archives on met un clé primair sur id (1er colonne),
et on ajout 2 champs en fin dtUpdate, et Info3

Ma requête est :

INSERT INTO T_Infos_Archive
SELECT * T_Infos WHERE id_membre=1, GetDate(), 'bla bla'

... mais elle ne marche pas, j'ai une erreur (avec l'analyseur de requête) :

Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers ','.

Je ne comprends pas trop je respecte l'ordre des champs dans la table de
destination, et le select existe je l'ai testé avant de faire la requete
insert into...

Merci pour votre aide

Olivier

2 réponses

Avatar
Steve Kass
Olivier,

Le syntax d'une requête SELECT (après INSERT INTO ... ou non)
est

SELECT <expressions et/ou *>
FROM <table source>
-- WHERE, GROUP BY, HAVING, ORDER BY, etc.

Donc essayez

INSERT INTO T_Infos_Archive
SELECT *, GETDATE(), 'bla bla'
-- mettre tous les expressions selectionnées ici
FROM unetable
-- ajoutez la table source

Je suggère de ne pas utiliser le *. Il est mieux de donner tous les
détails:

INSERT INTO T_Infos_Archive(id_membre, info1, info2, dtUpdate, Info3)
SELECT id_membre, info1, info2, GETDATE(), 'bla bla'
FROM ...

SK

Olivier wrote:

Bonjour,

J'ai un souci sur une requête :

Je dois faire (via ASP) une sauvegarde des chamgements d'infos qu'un membre
pourrai faire et donc j'ai un soucy sur la requete que je souhaite faire :

Table 1 :
T_Infos
id_membre (primary key)
info1
info2

Table 2 :
T_Infos_Archive
id (primary key)
id_membre
info1
info2
dtUpdate (date)
Info3 (varchar)

les tables T_Infos et T_Infos_Archive reprennent les même champs sauf que
dans la table T_Infos_Archives on met un clé primair sur id (1er colonne),
et on ajout 2 champs en fin dtUpdate, et Info3

Ma requête est :

INSERT INTO T_Infos_Archive
SELECT * T_Infos WHERE id_membre=1, GetDate(), 'bla bla'

... mais elle ne marche pas, j'ai une erreur (avec l'analyseur de requête) :

Serveur : Msg 170, Niveau 15, État 1, Ligne 1
Ligne 1 : syntaxe incorrecte vers ','.

Je ne comprends pas trop je respecte l'ordre des champs dans la table de
destination, et le select existe je l'ai testé avant de faire la requete
insert into...

Merci pour votre aide

Olivier






Avatar
Olivier
Merci pour votre aide

Je suis encoe novice dans le langage sql

:)


"Steve Kass" a écrit dans le message de
news:uRb$
Olivier,

Le syntax d'une requête SELECT (après INSERT INTO ... ou non)
est

SELECT <expressions et/ou *>
FROM <table source>
-- WHERE, GROUP BY, HAVING, ORDER BY, etc.

Donc essayez

INSERT INTO T_Infos_Archive
SELECT *, GETDATE(), 'bla bla'
-- mettre tous les expressions selectionnées ici
FROM unetable
-- ajoutez la table source

Je suggère de ne pas utiliser le *. Il est mieux de donner tous les
détails:

INSERT INTO T_Infos_Archive(id_membre, info1, info2, dtUpdate, Info3)
SELECT id_membre, info1, info2, GETDATE(), 'bla bla'
FROM ...

SK

Olivier wrote:

>Bonjour,
>
>J'ai un souci sur une requête :
>
>Je dois faire (via ASP) une sauvegarde des chamgements d'infos qu'un


membre
>pourrai faire et donc j'ai un soucy sur la requete que je souhaite faire


:
>
>Table 1 :
>T_Infos
>id_membre (primary key)
>info1
>info2
>
>Table 2 :
>T_Infos_Archive
>id (primary key)
>id_membre
>info1
>info2
>dtUpdate (date)
>Info3 (varchar)
>
>les tables T_Infos et T_Infos_Archive reprennent les même champs sauf que
>dans la table T_Infos_Archives on met un clé primair sur id (1er


colonne),
>et on ajout 2 champs en fin dtUpdate, et Info3
>
>Ma requête est :
>
>INSERT INTO T_Infos_Archive
>SELECT * T_Infos WHERE id_membre=1, GetDate(), 'bla bla'
>
>... mais elle ne marche pas, j'ai une erreur (avec l'analyseur de


requête) :
>
>Serveur : Msg 170, Niveau 15, État 1, Ligne 1
>Ligne 1 : syntaxe incorrecte vers ','.
>
>Je ne comprends pas trop je respecte l'ordre des champs dans la table de
>destination, et le select existe je l'ai testé avant de faire la requete
>insert into...
>
>Merci pour votre aide
>
>Olivier
>
>
>
>