temel alınarak depolanmış bir yordam oluşturmaktır. Amaç, giriş değişkenlerini temel alarak bir Mysql saklı yordamındaki bir sorgu dizesini değiştirmek. BöyleMysql, mantıksal olarak, mantıksal olarak mantıksal olarak mantıksal olarak
bir şey:
CREATE DEFINER=`root`@`localhost` PROCEDURE `func`(type VARCHAR(15))
BEGIN
SET @type = type;
-- Check for the sort parameter
if @type="asc" THEN
SET @sort = " order by name asc";
elseif @type="desc" THEN
SET @sort = " order by name desc";
else
SET @sort ="";
end if;
SELECT id, name from table @sort;
END
çözeltisi yürütmek kullanmaktır ve concat: Belirleyiciyi = 'root' CREATE @ localhost' PROCEDURE 'test' (giriş VARCHAR (15)) BEGIN SET @ giriş = giriş; @ input = "asc" ise SET @sort = "ActivityLogKey asc sırala"; elseif @input = "desc" o zaman SET @sort = "ActivityLogKey desc tarafından sipariş"; else SET @sort = ""; eğer; SET @query = CONCAT ('activitylog' dan select *, @ sort, 'limit 0, 5'); PREPARE stmt FROM @query; EXECUTE stmt; DEALLOCATE PREPARE stmt; END –
Bu, yanıt olarak eklemediğin ve kabul etmediğin veya sorunuzu onunla neden değiştirmediğin çözümdür. –
100 ün olmadan, kendi sorumu cevaplamak için 8 saat beklemem gerekiyor –