मैं पैरामीटर के साथ एक सरल प्रक्रिया बनाने की कोशिश कर रहा हूं।MySQL (संग्रहीत) प्रक्रिया - पैरामीटर और क्वेरी
CALL new_procedure('mode', 'ASC');
पहला इनपुट स्तंभ पीछे नहीं है प्रकार दिशा
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`(IN in_order_by_column varchar(20), in_order_by_direction char(4))
BEGIN
DECLARE order_by varchar(30);
SET @order_by = CONCAT('`', in_order_by_column, '` ', in_order_by_direction);
/*
SELECT * FROM `common_tags` ORDER BY @order_by LIMIT 5;
*/
SELECT @order_by as 'c';
END
ऊपर के उदाहरण में मैं इसे केवल 2 मानकों outputting तो मैं देख सकता हूँ क्या हो रहा है है।
परिणाम:
"c"
`mode` ASC
।
जब मैं नीचे के इच्छित कोड के साथ प्रक्रिया चलाता हूं।
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`(IN in_order_by_column varchar(20), in_order_by_direction char(4))
BEGIN
DECLARE order_by varchar(30);
SET @order_by = CONCAT('`', in_order_by_column, '` ', in_order_by_direction);
SELECT * FROM `common_tags` ORDER BY @order_by LIMIT 5;
END
परिणाम
tags_id data mode parent_id position
1 Wood 2 13 6
2 Trippy 0 0 0
4 Artists 1 0 1
6 "Newest Additions" 1 0 11
12 "Natural Elements" 2 5 8
आप देख सकते हैं परिणाम mode
द्वारा पृथक नहीं कर रहे हैं।
किसी भी मदद की सराहना की जाती है।