当前位置:  开发笔记 > 数据库 > 正文

SELECT INTO变量,两个语句,添加变量

如何解决《SELECTINTO变量,两个语句,添加变量》经验,为你挑选了1个好方法。

我有一个名为c_kilometers的变量.我有一个光标可以抓取一堆具有那些公里数的记录.我需要在游标中运行两个单独的SELECT语句,它们只根据游标中的值从一个表中获取一公里,然后运行另一个SELECT在另一个表上执行相同的操作.

SELECT t.kilometers INTO c_kilometers
FROM table_name WHERE WHERE l.code = cursor_t.code_att

SELECT g.kilometers INTO c_kilometers
FROM table_name WHERE l.code = cursor_t.code_aff

我的问题是,我可以将c_kilometers一起添加到一起而不创建一个临时变量来保持值吗?我有一段时间没有使用PL/SQL,我不记得曾经这样做过,所以这更像是一个学习问题.



1> Quassnoi..:

如果您的查询始终只返回一行,则可以执行以下任一操作:

/* Variant 1 */


SELECT  t.kilometers + g.kilometers
INTO    c_kilometers
FROM    table_name t, table_name2 g
WHERE   etc1
        AND etc2

/* Variant 2 */

SELECT  t.kilometers
INTO    c_kilometers
FROM    table_name
WHERE   etc;

SELECT  c_kilometers + g.kilometers
INTO    c_kilometers
FROM    table_name2
WHERE   etc;

如果它们与您发布的位于同一个表中,您可以使用:

SELECT COALESCE(SUM(kilometers), 0)
INTO   c_kilometers
FROM   table_name
WHERE  l.code IN (cursor_t.code_aff, cursor_t.code_att)

看来,这将是更有效的投入table_name到你的SELECT查询产生光标.

如果您发布此查询,我可能会帮助您这样做.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有