sql - Oracle PL/SQL 中的 For In 循环

标签 sql oracle for-loop plsql for-in-loop

在 PL/SQL 中,我可以使用 FOR IN 循环从 1 到 20 进行迭代,方法是:

FOR counter IN 1..20

我想知道的是,我是否可以对此做一个简单的改动,让我只对 1-20 之间的偶数值进行循环迭代?即计数器会变为 2、4、6、... 20

最佳答案

添加到 Gordon 的评论...

这是语法,所以没有内置方式

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/controlstatements.htm#LNPLS411

[ label ] FOR index IN [ REVERSE ] lower_bound..upper_bound LOOP
  statements
END LOOP [ label ];

可以在FOR LOOP语句中模拟STEP子句

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/controlstatements.htm#BCGJHACI

DECLARE
  step  PLS_INTEGER := 5;
BEGIN
  FOR i IN 1..3 LOOP
    DBMS_OUTPUT.PUT_LINE (i*step);
  END LOOP;
END;

关于sql - Oracle PL/SQL 中的 For In 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36578359/

相关文章:

php - 如何确保我不会从多个进程更新同一条记录?我需要表锁吗?

php - 从复选框检索数组值并动态构建查询以选择内容

java - 获取数据库信息时出错?在 EclipseLink 中与 Oracle

oracle - 将 JSON_OBJECT_T 传入 SODA_DOCUMENT_T

Javascript - 如果条件引用数组,则循环跳过内部代码

php - MySql 查询 "Following/Follower"系统,[PHP]

mysql - SQL,自身连接表,按一定时间跨度内创建的顺序

sql - ORACLE 根据两列查找计数

windows - 在 Windows shell 脚本中从字符串中提取数字

javascript - 将 forEach() 方法更改为 For 循环以与 IntersectionObserver 一起使用 - Javascript