select *
from emp_pk1;
참조해올껀 무조건 pk나 uk가 되야함;;
1-2 foreign key
;;
dept _ pk1의 dno을 참조하여 emp_pk1의 dno를 fk로 생성
;
select *
from DEPT_PK1;
;
insert into DEPT_PK1
values (2, 'd', 'e', 2);
drop table emp_pk1;
create table emp_pk_fk1
(
eno number primary key,
ename varchar2(20),
job varchar2(10),
mgr number,
hdate date,
sal number(10, 3),
comm number(5, 2),
dno number
constraint fk_emp_dno
references dept_pk1 (dno)
---열을 지정할때만 foreign키를 넣어주고 아니면 빼도 된다.
);
select *
from emp_pk_fk1;
fk에 데이터 추가;
fk는 null(x) 중복데이터 허용, index도 아님
insert into emp_pk_fk1
values (5, '홍길동', '개발', 0, sysdate, 3000, 300, 3);
select *
from emp_pk_fk1;
--dno에는 dept에 있는것만 사ㅛㅇ해야 한다. 참조키니까
insert into emp_pk_fk1
values (2, '홍길동', '설계', 0, sysdate, 3000, 300, 2);
부모테이블에 없는 값은 저장할 수 없다.;
insert into emp_pk_fk1
values (1, '홍길동', '설계', 0, sysdate, 3000, 300, 1);
select A.*, B.dname, b.loc, b.director
from emp_pk_fk1 A
join dept_pk1 B on a.dno = b.dno;
cascade 옵션이 없을 때 부모테이블의 데이터의 수정이나 삭제가 불가능
부모테이블의 데이터는 자식테이블에서 사용중이기 때문에 함부로 삭제/
수정을 할 수 없도록 막아놓음
자식테이블의 데이터를 먼저 삭제하고 부모테이블의 데이터를 삭제나 수정해야함
점유된 데이터를 자식테이블에서 제거하면 부모테이블에서 수정/
삭제 가능
delete
from dept_pk1
where dno = 1;
update dept_pk1
set dno = 3
where dno = 1;
update EMP_PK_FK1
set dno = 2
where dno = 1;
select *
from emp_pk_fk1;
select *
from DEPT_PK1;
update EMP_PK_FK1
set dno = 3
where dno = 2
and job = '개발';
update DEPT_PK1
set loc = '천안',
dname = '개발3'
where dno = 3;
insert into dept_pk1
values (1, '개발1', '서울', 1);
select *
from DEPT_PK1;
dept_pk1
(부모)
dno 2,3은 emp_pk_f1(자식)점유, dno 1은 점유되어 있지 않기 때문에
dno 2,3은 수정/
삭제 불가능,dno 1은 수정/
삭제가 가능
dno3의 데이터 점유를 해지(dno 1로 보내고) dno3 데이터 부모테이블에서 삭제
select *
from DEPT_PK1;
delete
from DEPT_PK1
where dno = 2;
select *
from EMP_PK_FK1
;
update emp_pk_fk1
set dno = 1
where dno = 2;
insert into DEPT_PK1
values (2, 'weg', 'weg', 2);
insert into DEPT_PK1
values (3, 'weg', 'weg', 2);
insert into DEPT_PK1
values (4, 'weg', 'weg', 2);
insert into DEPT_PK1
values (5, 'weg', 'weg', 2);
select *
from DEPT_PK1;
select *
from EMP_PK_FK1;
delete
from DEPT_PK1
where DNO = 5;
insert into emp_pk_fk1
values (6, '2', '3', '4', sysdate, '4000', '600', 5);
부모테이블에 있는거 삭제할때는 포린키있는 자식에서 그 삭제하는거 아닌 다른거로 바꾸고 부모에서 지워야됨
캐스캐이드 옵션 추가된 fk생성;
ㅣ;;
create table emp_pk_fk2
(
eno number primary key,
ename varchar2(20),
job varchar2(10),
mgr number,
hdate date,
sal number(10, 3),
comm number(5, 2),
dno number,
constraint fk_emp_dno2 foreign key (dno)
references dept_pk1 (dno)
on delete cascade
---열을 지정할때만 foreign키를 넣어주고 아니면 빼도 된다.
);
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ 제약조건 목록 조회
;
select *
from ALL_CONSTRAINTS
where owner = 'C##EUNSUK';
데이터저장;
insert into emp_pk_fk2
values (1, '홍길동', '개발', 0, sysdate, 3000, 300, 1);
insert into emp_pk_fk2
values (2, '장길산', '개발', 0, sysdate, 3000, 300, 2);
commit;
select *
from emp_pk_fk2;
delete cascade 옵셔일 때 부모데이터 삭제;
select *
from DEPT_PK1;
delete
from DEPT_PK1
where DNO = 2;
alter table emp_pk_fk1
drop constraint fk_emp_dno;
캐스케이드는 부모 테이블 정보를 날리면 자식껏도 다 날라간다.;
자식;
select *
from emp_pk_fk2;
부모;
select *
from DEPT_PK1;
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
/////////////////////////////
지울수는 있는데 바꿀수는 없음?!?!?!!
바꾸지는 못하는거느냐? 캐스케이드가 있근ㄴ데;
update DEPT_PK1
set dno = 99
where dno = 1;ㅇㅇㅇ
commit;
delete
from DEPT_PK1
where DNO = 1;
왜 3이상인것은 안보이는가;
왜 3이상인것은 안보이는가;
왜 3이상인것은 안보이는가;
왜 3이상인것은 안보이는가;
select rownum, A.*
from (select sno, sname, avr from STUDENT order by AVR desc) A
where rownum>3;
마지막 번호를 표출할때 붙는다.;
;
부모테이블에서 삭제되는 데이터를 참조하고 있는 자식테이블의 데이터도 같이 삭제된다.;
다른곳에서 지원하는
update cascade 옵션은 부모테이블의 데이터를 수정할 수 있다.
부모테이블에서 수정되는 데이터를 참조하고 있는 자식테이블의 데이터도 같이 수정된다.
;
update DEPT_PK1
set dno = 99
where dno = 1;
delete
from DEPT_PK1
where dno = 1;
create table t_user
(
user_id varchar2(20) primary key,
password varchar2(50),
join_date date
);
insert into t_user
values ('gogi', '1234', sysdate);
commit;
이 유저 아이디는 하나만 존재할 수 있음;
select *
from t_user;
select *
from T_USER_DETAIL;
create table t_user_detail
(
user_id varchar2(20) primary key,
user_name varchar2(20),
user_email varchar2(100),
user_tel number(11),
constraint fk_user_id foreign key (user_id)
references t_user (user_id)
);
insert into t_user_detail
values ('gogi', null, null, null);
얘도 무조건 하나만 존재할 수 있음
저것도 하나만 만들수있고 이것도 하나만 만들수있고
그래서 1:1관계이다.
부모테이블의 pk, uk 컬럼이 자식테이블의 fk uk 가 되야한다.
1:n 관계
부모테이블의 데이터 1개로 자식테이블 데이터 여러개를 생성할 수 있는 관계
dept_pk1과 emp_pk_fk100은 1:n 관계
dept_pk1의 pk인 dno로 emp_pk_fk100에서는 여러개의 데이터(중복) 을 생성할 수 있기 때문에
1:n관계
t_board와 t_board_file을 1:n 관계로 만들어보기;
drop table T_BOARD_file;
select *
from T_BOARD;
create table t_board_file
(
board_no number,
board_file_no number,
board_file_nm varchar2(200),
board_file_path varchar2(2000),
origin_file_nm varchar2(200),
constraint pk_bf_board_file_no primary key (board_no, board_file_no),
constraint fk_board_board_no foreign key (board_no)
references T_BOARD (BOARD_NO)
);
select *
from T_BOARD;
select *
from t_board_file;
insert into t_board_file
values (1, 2, 'gga', 'cdrive', 'finemeae');
alter table T_BOARD
drop constraint GHAKE;
ALTER TABLE T_BOARD
ADD CONSTRAINT haha PRIMARY KEY (board_no);
-- insert into
;;;
1-3 unique key
;
create table emp_uk
(
eno number
constraint uk_emp_eno unique,
ename varchar2(20)
);
데이터 저장;
insert into emp_uk
values (1, '홍길동');
insert into emp_uk
values (null, '장길산');
select *
from emp_uk;
1-4 check
;
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ
eno number primary key,
ename varchar2(20),
job varchar2(10),
mgr number,
sal number(11, 3),
comm number(5, 2),
만드는데 sal이 3000을 넘는, com이 100, 1000 사이인 테이블 만들어라ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ;
create table emp_chk
(
eno number primary key,
ename varchar2(20),
job varchar2(10),
mgr number,
sal number(11, 3),
comm number(5, 2),
constraint chk_emp_sal check (sal >= 3000),
constraint chk_emp_comm check (comm between 100 and 1000)
);
select *
from emp_chk;
check 조건에 맞지 않는 데이터 저장
;
insert into emp_chk
values (1, null, null, 0, 1000, 900);
--제약조건에 ㅇ맞지 않아서 안들어감
insert into emp_chk
values (1, null, null, 0, 3000, 500);
--1 : N 관계
--부모테이블의 데이터 1개로 자식테이블 데이터 여러개를 생성할 수 있는 관계
--DEPT_PK1과 EMP_PK_FK100는 1:N관계
--DEPT_PK1의 PK인 DNO으로 EMP_PK_FK100에서는 여러개의 데이터(중복)를 생성할 수 있기 때문에 1:N관계
--T_BOARD와 T_BOARD_FILE을 1:N관계로 만들어보기
DROP TABLE T_BOARD_FILE;
select *
from t_board;
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁT_board_file2 테이블을 만드는데 t_board에서 board_no를 참조키, 포린키로, board_no, board_file_no 둘을 프라이머리
키로 하는 테이블을 만들어람ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ
CREATE TABLE T_BOARD_FILE2
(
BOARD_NO NUMBER,
BOARD_FILE_NO NUMBER,
BOARD_FILE_NM VARCHAR2(200),
BOARD_FILE_PATH VARCHAR2(2000),
ORIGIN_FILE_NM VARCHAR2(200),
CONSTRAINT PK_BF_BOARD_FILE_NO2 PRIMARY KEY (BOARD_NO, BOARD_FILE_NO),
CONSTRAINT FK_BOARD_BOARD_NO2 FOREIGN KEY (BOARD_NO)
REFERENCES T_BOARD (BOARD_NO)
);
의미가 t_board안에 있는 board_no
select *
from t_board;
select *
from t_board_file2;
t board 에 있는 board_no만 가져와서 쓸수있다. 아닌걸 가져오려 하면 규칙위반
;;
INSERT INTO T_BOARD
VALUES (1, NULL, NULL, NULL, NULL, NULL);
INSERT INTO T_BOARD
VALUES (6, NULL, NULL, NULL, NULL, NULL);
INSERT INTO T_BOARD_FILE2
VALUES (6, 5, NULL, NULL, NULL);
1-5 not null;
create table emp_not_null
(
eno number primary key,
ename varchar(20) not null,
job varchar2(10) not null,
mgr number,
hdate date not null,
dno number not null
);
select *
from emp_not_null;
이거넣으면 못넣는다고 한다. notnull이라서.;
insert into emp_not_null
values (1, '홍길동', null, 0, sysdate, 0);
--not null 으로 지정된 컬럼에 null을 저장하면 에러가 발생
create table emp_def
(
eno number primary key,
ename varchar(20) not null,
job varchar2(10) default '개발' not null,
mgr number,
hdate date default sysdate not null,
dno number not null
);
select *
from emp_def;
default로 지정된 컬럼 제외한 데이터 저장
insert into emp_Def (eno, ename, mgr, dno)
values (1, '홍길동', 0, 1);
create table factory
(
fno number primary key,
fname varchar2(50) not null,
loc varchar2(10) default '서울'
---or constraint pk_fac_fno primary key(fno)
);
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ 그림참조 문제 여기에 cascade 도 넣어본다.;
create table goods
(
gno number primary key,
gname varchar2(50),
pri number default 10000,
fno number,
constraint geg foreign key (fno)
references factory (fno)
);
insert into factory values (1,'iphonefactory','california');
insert into goods values (19, 'iphone', 1000, 1);
insert into goods values (1, 'iphone2', 3000, 1);
select * from factory;
select * from goods;
create table prod
(
pno number primary key,
gno number not null,
price number default 7000,
pdate date,
constraint kilhahe foreign key (gno)
references goods(gno)
);
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
조건문
PL/SQL에서는 조건문으로 if. , cafe문을 사용할 수 있다.
If 조건 then 실행문 : 조건에 충족되면 실해문이 실행되는 조건
If 조건 then 실행문 else 실행문2:조건이 충족되면 실행문ㅇ 1이 실행되고 조건이 충족하지 않으면 실행문 2 실행되는 형태의 조건
IF 조건1 then 실행문
Else if 조건2 then 실행문2
Else if 조건3 then 실행문3
…
Else 실행문 n : 조건을 검사하여 해당 조건이 충족하는 실행문을 실행하고 모든 조건에 충족하지 않을대는 else에 실행문을 실행
End if ;; 조건문의 종료를 알려줘야한다.
CASE 비교대상
WHEN 값1 THEN 실행문1;
WHEN 값2 THEN 실행문2;
..
ELSE
실행문 n;
END CASE;
CASE
WHEN 조건식1 THEN 실행문1;
WHEN 조건식2 THEN 실행문2;
ELSE
실행문N;
END CASE;
반복문
PL/SQL에서는 기본 LOOP, WHILE LOOP, FOR LOOP, CUSOR FOR LOOP 의 네가지 반복문을 제공
기본 LOOP : 기본 반복문
WHILE LOOP : 특정 조건식의 결과를 통해서 반복
FOR LOOP : 반복 횟수를 지정해서 회수만큼 반복
CURSOR FOR LOOP : 커서를 통해 반복 수행
반복문 제어 명령어
- EXIT : 현재 수행중인 반복문을 중단시키는 역할
- EXIT WHEN 조건 : 조건이 충족되면 반복문을 종료
- CONTINUE : 현재 진행중인 실행을 건너뛰고 다음번 실행으로 넘어감
- CONTINUE WHEN 조건 : 조건을 충족하면 현재 실행을 건너뜀
7. 기본 LOOP
LOOP 반복 실행될 작업;
END LOOP;
방금한거 IF문으로
DECLARE
WHILE LOOP
- WHILE 조건 LOOP
- 반복 실행될 작업;
- END LOOP;
FOR LOOP
- FOR I IN 시작값.. 종료값 LOOP
- 반복 실행작업;
- ㄷEND LOOPL
SET SERVEROUTPUT ON;
FOR I IN REVERSE 시작값.. 종료값 LOOP 반복실행작어;
END LOoP;
홀수만 출력하도록 모드를써서
MOD(i. 2)
댓글 영역