【发布时间】:2011-03-31 19:34:22
【问题描述】:
我想知道是否可以在 mysql 存储函数或存储过程中将 mysql 查询组合成一个字符串变量,您可以稍后执行?我有一个引用表的存储函数get_district_part ((district_id INT,county_id INT,city_id INT,zip_id INT)) RETURNS INT:
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 旨在返回计算 district_id 以及 county_id、city_id 和 zip_id 的某种组合的行的 id。问题是我想返回与 id 的确切组合匹配的行的 id,而不是包含任何这些想法的行的 id。为此,我想对我的查询语句进行分段,以便它特定于提供的 id 构建。如果可以的话,我试图不必匹配空值。
我意识到这可以用 PHP 轻松完成,但如果我不能出于其他原因,我希望将其作为 mysql 存储过程执行,那么所有其他函数都是存储过程。
【问题讨论】:
标签: stored-procedures mysql stored-functions