程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否可以在 case then 语句中更新两个变量值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决是否可以在 case then 语句中更新两个变量值?

开发过程中遇到是否可以在 case then 语句中更新两个变量值的问题如何解决?下面主要结合日常开发的经验,给出你关于是否可以在 case then 语句中更新两个变量值的解决方法建议,希望对你解决是否可以在 case then 语句中更新两个变量值有所启发或帮助;

我需要使用 case 语句一起更新两件事..

假设我有两个变量,并且两个变量都初始化为 0。现在 1 想用 1 更新第一个变量,用 4 更新第二个变量。

如果 ID>2 那么(更新两个 var 值)。

如果不能,您是否可以建议替代解决方案。

解决方法

如果您想要 update 数据,case 似乎没有必要:

update t
    set var1 = 1,var2 = 4
    where id = 2;  -- or id > 2 if that is the actual condition
,

变量?那就是PL/SQL。如果是这样,看看这是否有帮助:

SQL> set serveroutput on
SQL> declare
  2    id number := 3;
  3    v1 number := 0;
  4    v2 number := 0;
  5  begin
  6    select case when id > 2 then 1 else v1 end,7           case when id > 2 then 4 else v2 end
  8      into v1,v2
  9      from dual;
 10    dbms_output.put_line('v1 = ' || v1 ||',v2 = ' || v2);
 11  end;
 12  /
v1 = 1,v2 = 4                              --> for ID = 3

PL/SQL procedure successfully completed.

SQL> l2
  2*   id number := 3;
SQL> c/3/1                                  --> change ID from 3 to 1
  2*   id number := 1;
SQL> /
v1 = 0,v2 = 0                              --> for ID = 1

PL/SQL procedure successfully completed.

SQL>
,

是的,PL/SQL 中的 CASE 语句可用于为多个变量赋值:

declare
    x number := 42;
    y number;
    z number;
begin
    case
        when x > 2 then
            y := 43;
            z := 44;
    end case; 
end;

不过,这不是“更新”。

如果这是关于 SQL UPDATE 语句,CASE 只能返回一个值。

大佬总结

以上是大佬教程为你收集整理的是否可以在 case then 语句中更新两个变量值全部内容,希望文章能够帮你解决是否可以在 case then 语句中更新两个变量值所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: