Utiliser une variable pour la clause FROM

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Utiliser une variable pour la clause FROM

Utiliser une variable pour la clause FROM

par Pierrefire » 10 juil. 2009, 19:27

Bonjour, j'aimerai aller chercher des informations dans une table dont j'aurai précédemment récupéré le nom par un SELECT INTO. Attention, le tout devant être dans une procédure. Voici la requête que j'ai faite et qui ne fonctionne pas :

Code : Tout sélectionner

CREATE PROCEDURE `deleteRessource` (IN p_idRessource INT) BEGIN DECLARE v_table VARCHAR(45); DECLARE v_id INT; SELECT ressource_type, idAssociated INTO v_table, v_id FROM Ressource WHERE idRessource = p_idRessource; DELETE FROM v_table WHERE CONCAT('id', v_table) = v_id; DELETE FROM Ressource WHERE idRessource = p_idRessource; END//
L'erreur produite est la suivante :
Table 'leroyaum_lrdd1.v_table' doesn't exist

Visiblement, il ne comprend pas que je veux mettre la valeur de la variable.

La table ressource a pour structure :
CREATE TABLE IF NOT EXISTS `leroyaum_lrdd1`.`Ressource` (
`idRessource` INT NOT NULL AUTO_INCREMENT ,
`ressource_type` VARCHAR(45) NOT NULL ,
`idAssociated` INT NOT NULL ,
PRIMARY KEY (`idRessource`) )
ENGINE = InnoDB

Merci pour votre aide :D
Pierrefire