<i id='xSbz3'><tr id='xSbz3'><dt id='xSbz3'><q id='xSbz3'><span id='xSbz3'><b id='xSbz3'><form id='xSbz3'><ins id='xSbz3'></ins><ul id='xSbz3'></ul><sub id='xSbz3'></sub></form><legend id='xSbz3'></legend><bdo id='xSbz3'><pre id='xSbz3'><center id='xSbz3'></center></pre></bdo></b><th id='xSbz3'></th></span></q></dt></tr></i><div id='xSbz3'><tfoot id='xSbz3'></tfoot><dl id='xSbz3'><fieldset id='xSbz3'></fieldset></dl></div>

<small id='xSbz3'></small><noframes id='xSbz3'>

    1. <tfoot id='xSbz3'></tfoot>

      <legend id='xSbz3'><style id='xSbz3'><dir id='xSbz3'><q id='xSbz3'></q></dir></style></legend>
          <bdo id='xSbz3'></bdo><ul id='xSbz3'></ul>

      1. 如果(从表中选择计数(列))>0 那么

        时间:2023-09-19
            <bdo id='10w4B'></bdo><ul id='10w4B'></ul>

            <small id='10w4B'></small><noframes id='10w4B'>

                  <tbody id='10w4B'></tbody>
                <legend id='10w4B'><style id='10w4B'><dir id='10w4B'><q id='10w4B'></q></dir></style></legend>
              • <i id='10w4B'><tr id='10w4B'><dt id='10w4B'><q id='10w4B'><span id='10w4B'><b id='10w4B'><form id='10w4B'><ins id='10w4B'></ins><ul id='10w4B'></ul><sub id='10w4B'></sub></form><legend id='10w4B'></legend><bdo id='10w4B'><pre id='10w4B'><center id='10w4B'></center></pre></bdo></b><th id='10w4B'></th></span></q></dt></tr></i><div id='10w4B'><tfoot id='10w4B'></tfoot><dl id='10w4B'><fieldset id='10w4B'></fieldset></dl></div>
                1. <tfoot id='10w4B'></tfoot>

                  本文介绍了如果(从表中选择计数(列))>0 那么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我需要检查一个条件.即:

                  I need to check a condition. i.e:

                  if (condition)> 0 then
                    update table
                  else do not update
                  end if
                  

                  是否需要使用 select into 将结果存储到变量中?

                  Do I need to store the result into a variable using select into?

                  例如:

                  declare valucount integer
                  begin
                    select count(column) into valuecount from table
                  end
                  if valuecount > o then
                    update table
                  else do 
                    not update
                  

                  推荐答案

                  不能在 PL/SQL 表达式中直接使用 SQL 语句:

                  You cannot directly use a SQL statement in a PL/SQL expression:

                  SQL> begin
                    2     if (select count(*) from dual) >= 1 then
                    3        null;
                    4     end if;
                    5  end;
                    6  /
                          if (select count(*) from dual) >= 1 then
                              *
                  ERROR at line 2:
                  ORA-06550: line 2, column 6:
                  PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
                  ...
                  ...
                  

                  您必须改用变量:

                  SQL> set serveroutput on
                  SQL>
                  SQL> declare
                    2     v_count number;
                    3  begin
                    4     select count(*) into v_count from dual;
                    5
                    6     if v_count >= 1 then
                    7             dbms_output.put_line('Pass');
                    8     end if;
                    9  end;
                   10  /
                  Pass
                  
                  PL/SQL procedure successfully completed.
                  

                  当然,您可以在 SQL 中完成整个操作:

                  Of course, you may be able to do the whole thing in SQL:

                  update my_table
                  set x = y
                  where (select count(*) from other_table) >= 1;
                  

                  很难证明某些事情是不可能的.除了上面的简单测试用例,您可以查看 IF 语句的语法图;您不会在任何分支中看到 SELECT 语句.

                  It's difficult to prove that something is not possible. Other than the simple test case above, you can look at the syntax diagram for the IF statement; you won't see a SELECT statement in any of the branches.

                  这篇关于如果(从表中选择计数(列))>0 那么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Oracle中如何将行转换为列? 下一篇:如何将日志表中的数据导出到oracle中的电子邮件正文

                  相关文章

                  <small id='XYwws'></small><noframes id='XYwws'>

                  1. <i id='XYwws'><tr id='XYwws'><dt id='XYwws'><q id='XYwws'><span id='XYwws'><b id='XYwws'><form id='XYwws'><ins id='XYwws'></ins><ul id='XYwws'></ul><sub id='XYwws'></sub></form><legend id='XYwws'></legend><bdo id='XYwws'><pre id='XYwws'><center id='XYwws'></center></pre></bdo></b><th id='XYwws'></th></span></q></dt></tr></i><div id='XYwws'><tfoot id='XYwws'></tfoot><dl id='XYwws'><fieldset id='XYwws'></fieldset></dl></div>
                    • <bdo id='XYwws'></bdo><ul id='XYwws'></ul>
                    <tfoot id='XYwws'></tfoot>

                    1. <legend id='XYwws'><style id='XYwws'><dir id='XYwws'><q id='XYwws'></q></dir></style></legend>