我想创建一个内部具有选择查询的函数,该函数可用于多个数据库表,但不能将变量用作表名.我可以使用函数中的PREPARE语句解决此问题吗?
一个例子:
FUNCTION `TESTFUNC`(dbtable VARCHAR(25)) RETURNS bigint(20)BEGIN DECLARE datereg DATETIME; DECLARE stmt VARCHAR(255); SET stmt := concat( 'SELECT dateT FROM',dbtable,'ORDER BY dateT DESC liMIT 1'); PREPARE stmt FROM @stmt; EXECUTE stmt; RETURN dateT;END $$
预先感谢您的任何投入.最佳答案代替stmt varchar(255)使用@stmt:
... DECLARE datereg DATETIME; SET @stmt = concat( 'SELECT dateT FROM','ORDER BY dateT DESC liMIT 1'); ....
总结 以上是内存溢出为你收集整理的我可以在函数中使用MySQL PREPARE语句来创建具有可变表名的查询吗 全部内容,希望文章能够帮你解决我可以在函数中使用MySQL PREPARE语句来创建具有可变表名的查询吗 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)