当前位置: 首页 > 面试题库 >

根据查询设置变量结果

裴华荣
2023-03-14
问题内容

创建保存的过程时,可以创建一些变量吗?例如:

CREATE PROCEDURE `some_proc` ()  
BEGIN

   DECLARE some_var INT; 
   SET some_var = 3;
....

问题:但是如何从查询中设置变量结果,即如何进行如下设置:

DECLARE some_var INT;
SET some_var = SELECT COUNT(*) FROM mytable ;


问题答案:

有多种方法可以做到这一点。

您可以使用子查询:

SET @some_var = (SELECT COUNT(*) FROM mytable);

(就像您的原始文章一样,只需在查询周围添加括号)

或使用SELECT INTO语法分配多个值:

SELECT COUNT(*), MAX(col)
INTO   @some_var, @some_other_var
FROM   tab;

子查询语法稍微快一些(我不知道为什么),但是只能分配一个值。select
into语法允许您一次设置多个值,因此,如果需要从查询中获取多个值,则应该这样做,而不是针对每个变量一次又一次地执行查询。

最后,如果您的查询返回的不是一个行而是一个结果集,则可以使用cursor。



 类似资料:
  • 问题内容: 是否可以根据MySQL中的查询结果设置用户变量? 我想要实现的是这样的事情(我们可以假设和都是唯一的): 请注意,我知道有可能,但我不希望使用嵌套查询。 问题答案: 是的,但是您需要将变量分配移至查询中: 测试用例: 结果: 请注意,对于,或可用作分配运算符。但是,在其他语句中,赋值运算符必须为并且不是,因为在非SET语句中将其视为比较运算符。 更新: 除了下面的评论,您还可以执行以下

  • 我试图根据仪表板变量值在图形面板上显示/隐藏查询。 动机 在同一个图形面板(用于显示多个主机)上,我有两个查询: 和: 其中是一个计数器。 第一个是一个通常的比率,它更适合显示趋势,另一个更复杂一些,但显示所有选择。当然,我想为图表制作一个面板,但也有一些开关,如趋势/选择来分析两者。我引入了一个带有自定义值的grafana dashboard变量,但我不明白如何使用它来隐藏或显示特定的查询。 此

  • 问题内容: 我目前有一个App Engine Go应用,其中包含2个项目:和。 我希望能够设置某些变量的值,具体取决于应用程序是按生产还是暂存运行。 应用程序是否可以检测运行在哪个环境中? 谢谢 问题答案: 使用一个环境变量来描述您的应用是在生产中还是在生产中。添加到, 在您的代码中

  • 问题内容: 有什么办法可以将mysql结果存储在php变量中?谢谢 然后我要从查询中打印选定的用户ID。 问题答案: 当然有。签出,以及是否使用MySQL。 PHP手册中的 示例:

  • 我正在尝试根据传递到作业中的参数在Jenkins管道作业中设置环境变量;这样,我可以在需要它的管道的每个阶段使用环境变量。我尝试在环境块中使用Switch语句: 然而,这并不起作用,该作业试图将等号之前的所有行评估为KEY名称: 我该如何让它工作?