7
매개 변수를 사용하여 간단한 프로 시저를 만들려고합니다.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 개 파라미터를 출력해야에게있는 열이다.
결과 :
"c"
`mode` ASC
.
나는 아래의 의도 된 코드와 함께 프로 시저를 실행할 때. 당신이 결과를 mode
으로 분류되지 않습니다 볼 수 있듯이
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
결과.
도움을 주시면 감사하겠습니다.