선언적인 SQL 언어와는 달리, SQL을 프로그래밍해서 처리하는 기법.
set serveroutput on;
begin
dbms_output.put_line('Hello world');
end;
/
Hello world
PL/SQL 처리가 정상적으로 완료되었습니다.
set serveroutput on; // 화면에 출력되게 해준다는 뜻.
declare
l_message varchar2(100);
begin
l_message := 'Hello world';
dbms_output.put_line(l_message);
end;
/
Hello world
PL/SQL 처리가 정상적으로 완료되었습니다.
1. 상수 / 변수
+ , - , * , / , **(제곱) , = ,< , > , <= , >= , <> , != , ~= , ^= , IS NULL
( !=와 <>, ^= 모두 NOT EQUAL을 의미, 어느 DB를 사용하더라도 <>는 똑같이 적용 가능, 가급적 <> 사용 )
if number >= 0 && number <= 10 {
}
if 0...10 ~= number {
}
// ~= 연산자
if 200..<300 ~= response.statusCode {
}
// 200이상 300미만
https://eunjin3786.tistory.com/44
선언
// 변수 선언
변수_명 데이터타입 : = 초기값;
EX_NUM NUMBER := 1; // ':=' 는 같다라는 뜻.
EX_STR VARCHAR2(10) := 'STR1';
// 상수 선언
상수_명 CONSTANT 데이터타입 : = 상수값;
EX_NUM CONSTANT NUMBER := 1;
DECLARE
EX_NUM CONSTANT NUMBER := 10; // 상수 선언
EX_STR VARCHAR2(10) // 변수 선언
BEGIN
EX_STR := 'EXAMPLE'; // 변수 초기값 설정
DBMS_OUTPUT.PUT_LINE(EX_NUM); // 상수 출력
DBMS_OUTPUT.PUT_LINE(EX_STR); // 변수 출력
END;
DECLARE
VN_NUM NUMBER := 1;
VN_NUM2 NUMBER := 2;
BEGIN
DBMS_OUTPUT.PUT_LINE(VN_NUM + VN_NUM2);
END;
2. 반복 LOOP, WHILE, FOR / 조건 IF, CASE
// LOOP
DECLARE
NUM1 NUMBER := 1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE(NUM1); // 출력
NUM1 := NUM1+1;
EXIT WHEN NUM1 > 10; // NUM1이 10보다 크면 LOOP 종료
END LOOP;
END;
// WHILE
DECLARE
NUM1 NUMBER := 1;
BEGIN
WHILE(NUM1<10) // NUM1이 10보다 작을 때, LOOP 실행
LOOP
DBMS_OUTPUT.PUT_LINE(NUM1); // 출력
NUM1 := NUM1 + 1;
END LOOP;
END;
// FOR
BEGIN
FOR I IN 1..9
LOOP
DBMS_OUTPUT.PUT_LINE('방가방가'); // 출력
END LOOP;
END
// IF
DECLARE
SCORE NUMBER := 80;
BEGIN
IF SCORE >= 90 THEN
DBMS_OUTPUT.PUT_LINE('A');
ELSIF SCORE >= 80 THEN
DBMS_OUTPUT.PUT_LINE('B');
ELSE
DBMS_OUTPUT.PUT_LINE('C');
END IF;
END;
// CASE
DECLARE
SCRE NUMBER := 80;
BEGIN
CASE SCORE
WHEN >= 90 THEN
DBMS_OUTPUT.PUT_LINE('A');
WHEN SCORE >= 80 THEN
DBMS_OUTPUT.PUT_LINE('B');
ELSE
DBMS_OUTPUT.PUT_LINE('C');
END CASE;
END;
● 1~10까지 합을 LOOP 반복문으로 구하라.
● 1~10까지 FOR 반복문으로 출력하라.
SQL developer (0) | 2022.06.14 |
---|---|
Procedure (프로시저) (0) | 2022.06.14 |
TRIGGER (0) | 2022.06.13 |
CURSOR (커서) (0) | 2022.06.13 |
Data Dictionary (0) | 2022.06.13 |