데이터베이스 PL/SQL 제어문 - 반복문
반복문
반복문은 말그대로 동작을 반복시켜주는 명령문이다. pl/sql에서 반복문은 loop문을 사용한다. 이 때 역시 ()를 사용하지 않기 때문에 end loop를 꼭 끝나는 지점에 입력해야 하며, ‘ ; ’을 조심하도록 하자.
그리고 반복문에서 중요한 것은 탈출 조건이다. 탈출 조건을 명시하지 않으면 반복문이 무한하게 돌기 때문에 꼭 이를 기입해야 주어야 한다.
이 때 if를 사용하는 조건문을 작성하여도 되고, 아래 예문처럼 when을 사용하기도 한다. 그리고 탈출을 위해서 exit를 입력해준다.
문제
짝수의 합 구하기
- 10까지의 짝수 합 구하기
일단 pl / sql에는 %연산자가 없다는 사실을 기억하자. 그러면 짝수를 어떻게 구하면 좋을까?
정말 간단하게 구성하자면, 2부터 시작하여 2씩 증가하게 만들면 짝수만을 구하여 더할 수 있다. 이렇게 코드를 먼저 구성해보겠다. 그리고 12가 될 때 해당 루프문을 탈출하도록 하면 2부터 10까지 짝수항 덧셈을 수행할 수 있다.
- 100까지의 짝수 합 구하기
다음은 짝수를 100까지 더하려고 한다. 이 때는 위의 방법과 달리 mod라는 연산자를 사용하자. 이는 데이터베이스에서 사용하는 함수로서 나머지값을 계산하는 %와 같은 기능을 한다. 이를 사용하여 짝수인 경우에만 덧셈을 하도록 코드를 구성한다.
별찍기로 루프문을 연습해보자.
for문
자바스크립트를 배울 때 반복문에는 여러 종류가 있었다. 이번엔 for문의 형태로 반복문을 보다 더 간단하게 정의해보자. 문법은 다음과 같다.
for 변수 in 시작..끝 loop
실행문;
end loop;
|
이제 이를 통해서 1부터 10까지 출력하는 반복문을 하나 작성해보겠다.
반복문을 돌 변수를 v_idx로 정하고 1부터 10까지 증가함에 따라 이를 출력해보겠다. 원하는대로 출력이 이루어지고 있다.
reverse
for문을 사용할 때 반복문이 반대로 돌게 하는 방법도 있다. 이 때 사용하는 것이 reverse이다.
똑같은 예문에 reverse를 붙여보도록 하겠다.
출력화면에서 볼 수 있듯이 10부터 거꾸로 출력하고 있다.
마찬가지로 for문을 중첩하여 *을 찍는 것도 가능하다.
혹시
답글삭제while 문과
loop 문으로
**********
*********
********
*******
******
*****
****
***
**
*
이런식으로 별을 찍는건 어떻게 하나요?