我是Oracle新手,我不知道在Oracle SQL(而不是PL/SQL)中使用for循环.
我要求在查询中将数字增加+1并执行语句; 是否可以在SQL中使用for循环?
Art*_*Art 34
你很困惑我的朋友.SQL中没有LOOPS,仅在PL/SQL中.以下是基于现有Oracle表的一些示例 - 复制/粘贴以查看结果:
-- Numeric FOR loop --
set serveroutput on -->> do not use in TOAD --
DECLARE
k NUMBER:= 0;
BEGIN
FOR i IN 1..10 LOOP
k:= k+1;
dbms_output.put_line(i||' '||k);
END LOOP;
END;
/
-- Cursor FOR loop --
set serveroutput on
DECLARE
CURSOR c1 IS SELECT * FROM scott.emp;
i NUMBER:= 0;
BEGIN
FOR e_rec IN c1 LOOP
i:= i+1;
dbms_output.put_line(i||chr(9)||e_rec.empno||chr(9)||e_rec.ename);
END LOOP;
END;
/
-- SQL example to generate 10 rows --
SELECT 1 + LEVEL-1 idx
FROM dual
CONNECT BY LEVEL <= 10
/
Run Code Online (Sandbox Code Playgroud)