gpt4 book ai didi

mysql - 变量中的 Asterisk 短语变量?

转载 作者:行者123 更新时间:2023-11-29 10:50:59 29 4
gpt4 key购买 nike

我有一个奇怪的情况,我想在 SQL 字符串中表达一个变量。基本上 ODBC 将返回带有字符串的查询,在该字符串中将有一个 Asterisk 变量,我需要将其表达并传递回 SQL。例如(毫无意义的代码,但显示了示例)-

exten => s,n,Set(QUERY=${ODBC_GET_QUERY(${EXTEN})}) 

func_odbc.conf 中的 SQL 查询是 SELECT query FROM tablea WHERE number = ${ARG1}

现在 QUERY 看起来像 to = ${DIALED}${DIALED} 是一个 Asterisk 变量(例如,我将其设置为 17005551212)我需要这样的措辞所以我最终得到 -

exten => s,n,Set(ALLOWED=${ODBC_GET_ALLOWED(${QUERY})})

func_odbc.conf 中的 SQL 查询将是 SELECT allowed FROM tableb WHERE ${ARG1},因此 SQL 查询将解析为 SELECT allowed WHERE to = 17005551212

在我深入研究这个问题并重新发明轮子之前,这是否可能甚至被允许?其实我还没有尝试过。我知道在 Set() 语句中它会内联地表达变量,但是有没有办法在通过 ODBC 返回变量时表达变量中的变量?谢谢!

最佳答案

请仔细阅读源码。

Func odbc 使用准备调用。因此它不适用于您的示例,因为 prepair 不允许这样做。

一般来说,您可以替换变量。示例 1 可以正常工作。

解决方法 - 使用 mysql EXEC。

关于mysql - 变量中的 Asterisk 短语变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43740188/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com