2014-11-05 140 views
0

功能我寫了一個MySQL查詢像這樣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; 

我想要做的是隻能從表中讀取它的名字後執行的功能。函數名存儲在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

非常感謝..你救了我的一天。乾杯! – 2014-11-05 09:13:00

+0

我真的很高興它幫助:)有一個愉快的一天。 – 2014-11-05 09:46:28