1
我写了这个功能:MySQL的 - 函数返回执行值
delimiter //
CREATE FUNCTION randomDefVal(val varchar(30), tableName varchar(30))
returns varchar(30)
BEGIN
SET @query = concat('SELECT ',val,' FROM ',tableName,' ORDER BY rand() LIMIT 1;');
SET @result = NULL;
PREPARE stmt1 FROM @query;
return (EXECUTE stmt1);
END//
但我必须在最后一行的错误:
SQL Error (1336): Dynamic SQL is not allowed in stored function or trigger
这表明,我不能写“回报(EXECUTE stmt1 );” 如何返回值,这将是'EXECUTE'语句的结果?
我得到这个错误:**'SQL错误(1336):动态SQL不允许在存储函数或触发器**中 – hjpotter92 2013-04-25 18:47:42