Problème SQL

Résolu/Fermé
Utilisateur anonyme - 16 févr. 2010 à 15:32
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 17 févr. 2010 à 15:13
Salut, je souhaite insérer dans ma base un grand nombre de requêtes mais la syntaxe SQL me pose problème. Je voudrais donc pouvoir faire :

INSERT INTO MENU (id, titre, lien)
VALUES ('', 'La laponie', 'index.php?option=com_content&view=article&id=XXX')

où XXX est un nombre récupéré d'une requête de type :

SELECT id
FROM ARTICLE
WHERE titre = 'La Laponie'

J'ai essayé le transact sql et une requete du genre :

DECLARE @var int

@var = (SELECT id FROM Article WHERE titre = 'La laponie')

INSERT INTO MENU (id, titre, lien)
VALUES ('', 'La laponie', 'index.php?option=com_content&view=article&id=@var')

Ça ne marche pas et je ne sais pas si ça pourrait résoudre mon problème. C'est pourquoi je m'adresse à vous.
Excusez moi si mes exemples ne sont pas clairs ou vous semble illogique j'ai essayé de faire au plus simple :)
A voir également:

3 réponses

Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 8
16 févr. 2010 à 17:36
Bonjour frero
Bon si je comprend bien tu as une table contenant des article(id , nom) et une table qui va récupérer pour chaque enregistrement id article et l'insérer au bout du lien
1er Blm :

INSERT INTO MENU (id, titre, lien)
VALUES ('', 'La laponie', 'index.php?option=com_content&view=article&id=@var')

Dans ta requete tu as 3 paramètre alors que t as inséré que les 2 dernier +++

2 eme blm :

erreur de syntaxe : faut ecrire :
(@var,'La laponie', 'index.php?option=com_content&view=article&id='+cast(@var as varchar(10)))

si tu veux creer automatiquement des lien pour tout les article utilise une procédure qui implémente un curseur

a++
0
Utilisateur anonyme
17 févr. 2010 à 13:19
Ok je vais essayer ça merci.
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 févr. 2010 à 15:13
Bonjour,

En t-SQL, il me semble que « @var = (SELECT id FROM Article WHERE titre = 'La laponie') » devrait plutôt être :


SELECT @var = id FROM Article WHERE titre = 'La laponie'

Xavier
0