Je me demandais s'il est possible dans une fonction stockée ou une procédure stockée mysql de composer une requête mysql comme une variable de chaîne que vous pouvez exécuter plus tard? J'ai une fonction stockée get_district_part ((district_id INT,county_id INT,city_id INT,zip_id INT)) RETURNS INT
qui fait référence à la table:MySQL, la fonction stockée, en utilisant la variable STRING comme QUERY
CREATE TABLE IF NOT EXISTS `modx`.covereage_district_part(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
districtID INT NOT NULL,
countyID INT,
cityID INT,
zipID INT,
FOREIGN KEY (districtID) REFERENCES `modx`.coverage_district (id),
FOREIGN KEY (countyID) REFERENCES `modx`.coverage_county (id),
FOREIGN KEY (cityID) REFERENCES `modx`.coverage_city (id),
FOREIGN KEY (zipID) REFERENCES `modx`.coverage_zip (id)
);
get_distrct_part
est censé renvoyer l'identifiant de lignes mathing district_id
et une combinaison de county_id
, city_id
et zip_id
. La chose est que je veux retourner l'id de la rangée correspondant à la combinaison exacte des identifiants et non les identifiants des lignes qui contiennent l'une de ces idées. Pour ce faire, je souhaite segmenter mon instruction de requête afin qu'elle soit spécifique aux identifiants fournis. J'essaie de ne pas avoir à faire correspondre les valeurs nulles si je le peux.
Je réalise que cela peut être facilement fait avec PHP, mais je voudrais le faire en tant que processus stocké mysql si je peux pour aucune autre raison alors toutes les autres fonctions pour cela sont des processus stockés.
J'avais regardé l'instruction 'PREPARE' que je devrais passer plus de temps dessus. –
Merci, c'est extrêmement utile. –
Pouvez-vous référencer les paramètres dans la requête '@ query'? J'ai essayé et j'ai eu une erreur de colonne inconnue. – TheRealChx101