我可以在函数中使用MySQL PREPARE语句来创建具有可变表名的查询吗

我可以在函数中使用MySQL PREPARE语句来创建具有可变表名的查询吗,第1张

概述我想创建一个内部具有选择查询的函数,该函数可用于多个数据库表,但不能将变量用作表名.我可以使用函数中的PREPARE语句解决此问题吗?一个例子:FUNCTION `TESTFUNC`(dbTable VARCHAR(25)) RETURNS bigint(20) BEGIN DECLARE datereg DATETIME; DECLARE

我想创建一个内部具有选择查询的函数,该函数可用于多个数据库表,但不能将变量用作表名.我可以使用函数中的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语句来创建具有可变表名的查询吗 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存