2014-11-05 3 views
0

내부 기능을 실행 나는 내가하고 싶었던 것은 전용 테이블에서 이름을 가져 오는 후 기능을 실행하는 것입니다이MySQL이 쿼리

select concat(b.functionName,'(',id,')') as outPut from (SELECT id 
FROM test _table) a join my_all_functions_table b on a.fID = b.id; 

같은 MySQL의 쿼리를 썼다. 함수 이름은 my_all_functions_table에 저장되고 해당 함수 이름을 가져 와서 내 쿼리에서 함수를 실행하려고했습니다. 그러나 함수를 실행하는 대신 쿼리는 함수 호출을 문자열로 반환했습니다. 즉 함수 이름이 func 인 경우 select 'func('id')'이 문자열로 반환되었지만이 함수가 실행될 것으로 예상됩니다. 아무도 내가 여기서 빠진 것을 말할 수 있습니까?

답변

1

이 시도하십시오

SET @_query_text = CONCAT('select ', (select concat(b.functionName,'(',id,')') as outPut from (SELECT id FROM test _table) a join my_all_functions_table b on a.fID = b.id)); 

PREPARE qry from @_query_text; 

EXECUTE qry; 

나는 그것이 도움이되기를 바랍니다.

+0

고마워요. 당신은 내 날을 구했습니다. 환호! –

+0

나는 그것이 정말로 도움이 기쁘다 :) 좋은 하루 되십시오. –