如何获取存储过程中 SELECT 中多个字段的值

发布于 2024-12-27 20:09:58 字数 233 浏览 1 评论 0原文

我正在尝试按以下方式填充我的变量。
显然,我做错了什么。

...

BEGIN
  DECLARE p_f1,p_f2 INT;
  SELECT
          f1 INTO p_f1,
          f2 INTO p_f2
  FROM
          t1
  LIMIT 1;
END

填充 p_f1 和 p_f2 的正确语法是什么?

I am trying to populate my vars the following way.
Obviously, I am doing something wrong.

...

BEGIN
  DECLARE p_f1,p_f2 INT;
  SELECT
          f1 INTO p_f1,
          f2 INTO p_f2
  FROM
          t1
  LIMIT 1;
END

What is the proper syntax to populate p_f1 and p_f2?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷爱 2025-01-03 20:09:58

您只需为整个列/变量列表指定一次 INTO。

BEGIN
  DECLARE p_f1,p_f2 INT;
  SELECT
          f1, f2 INTO p_f1, p_f2
  FROM
          t1
  LIMIT 1;
END

一如既往,每当我看到在没有 ORDER BY 的情况下使用 LIMIT 时,我都会有点担心。通过指定明确的顺序,确保每次都能始终获得相同的结果。

You specify the INTO only once for the entire column/variable list.

BEGIN
  DECLARE p_f1,p_f2 INT;
  SELECT
          f1, f2 INTO p_f1, p_f2
  FROM
          t1
  LIMIT 1;
END

As always, I'm a little concerned whenever I see a LIMIT used without an ORDER BY. Make sure you're consistently getting the same results every time by specifying an explicit order.

脸赞 2025-01-03 20:09:58
  SELECT
          f1,f2 
  INTO 
          p_f1,p_f2
  FROM
          t1
  LIMIT 1;
  SELECT
          f1,f2 
  INTO 
          p_f1,p_f2
  FROM
          t1
  LIMIT 1;
岁月苍老的讽刺 2025-01-03 20:09:58

你应该这样做

开始声明 p_f1 t1.f1%类型,p_f2 t1.f2%类型;
SELEC1.f2%类型

 f1,f2 转换为 p_f1,
      p_f2 来自
      t1 限制 1;结尾

You should do this

BEGIN DECLARE p_f1 t1.f1%Type, p_f2 t1.f2%Type;
SELEC1.f2%Type

      f1,f2 into p_f1,
      p_f2   FROM
      t1   LIMIT 1; END
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文