Problème SQL

Résolu
Utilisateur anonyme -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   8
 
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
 
Ok je vais essayer ça merci.
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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