반응형
Oracle SQL의 루프의 경우
Oracle을 처음 사용하는 사용자이며 Oracle SQL(PL/SQL 아님)에서 루프에 사용하는 방법에 대해 잘 알지 못합니다.
쿼리에서 +1을 늘리고 문을 실행해야 하는데 SQL에서 for 루프를 사용할 수 있습니까?
당신은 내 친구를 꽤 혼란스럽게 하는군요.SQL에는 LOOP가 없고 PL/SQL에만 LOOP가 있습니다.다음은 기존 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
/
WITH 절을 사용하거나 Oracle SQL에서 사용할 수 있는 분석 기능을 사용할 수 있습니다.
약간의 노력으로 여러분은 일반적인 절차 언어에서처럼 주기적인 측면에서 그들로부터 무엇이든 얻을 수 있을 것입니다.두 가지 접근 방식 모두 일반 SQL에 비해 매우 강력합니다.
http://www.dba-oracle.com/t_with_clause.htm
하지만 그것은 약간의 노력을 필요합니다.구체적인 예를 올리는 것을 두려워하지 마세요.
간단한 의사 테이블 DUAL을 사용하는 것도 도움이 됩니다.
언급URL : https://stackoverflow.com/questions/15012247/for-loop-in-oracle-sql
반응형
'programing' 카테고리의 다른 글
Python range()와 유사한 JavaScript 함수 (0) | 2023.07.20 |
---|---|
일별로 레코드를 새로 고치는 구체화된 보기 (0) | 2023.07.20 |
응용 프로그램의 클래스 경로를 수정하여 org.axonframework.eventsourcing.eventstore.jpa의 호환되는 단일 버전이 포함되도록 합니다. (0) | 2023.07.20 |
redis-py : StrictRedis()와 Redis()의 차이점은 무엇입니까? (0) | 2023.07.20 |
WebDev 활용 방법x64에서 WebServer.exe(VS 웹 서버)? (0) | 2023.07.20 |