K-DigitalTraining 강의/2. Oracle + PLSQL
[6주차] 29. PL/SQL언어, INSERT, UPDATE, DELETE 쿼리 사용방법
이대곤
2022. 6. 16. 16:57
1-1. INSERT 쿼리문 예시
-- 변수 선언할게 없으면 declare 를 지워도 정상 작동함
begin
insert into customer values(5, '웬디', '서울');
end;
/
PL/SQL 처리가 정상적으로 완료되었습니다.
declare
vno number;
vname varchar2(10) := '슬기';
vaddr varchar2(10) := '부산';
begin
vno := 6;
insert into customer values(vno, vname, vaddr);
end;
/
PL/SQL 처리가 정상적으로 완료되었습니다.
1-2. INSERT 쿼리문 예시, 사용자의 입력을 받아서 처리하는 것
declare
vcode varchar2(10) := '&code'; -- 오른쪽의 인자는 "ㅇㅇ의 값을 입력하십시오" 할 때 띄워주는 용도라서 컬럼 이름이 아니라 그냥 아무 이름을 넣어주면 된다.
vname varchar2(10) := '&c_name';
vprice number := '&c_price';
vaddr varchar2(10) := '&c_addr';
begin
insert into consumer
values(vcode , vname, vprice, vaddr);
end;
/
code의 값을 입력하십시오: A05
구 2: vcode varchar2(10) := '&code';
신 2: vcode varchar2(10) := 'A05';
c_name의 값을 입력하십시오: 헤이즈
구 3: vname varchar2(10) := '&c_name';
신 3: vname varchar2(10) := '헤이즈';
c_price의 값을 입력하십시오: 300
구 4: vprice number := '&c_price';
신 4: vprice number := '300';
c_addr의 값을 입력하십시오: 부천
구 5: vaddr varchar2(10) := '&c_addr';
신 5: vaddr varchar2(10) := '부천';
PL/SQL 처리가 정상적으로 완료되었습니다.
2. UPDATE쿼리를 사용하는 방법
-- 3가지를 입력받고 입력받은 값중 하나는 where절 조건으로 사용하고, 나머지 2가지는 update 하는데 사용
declare
vcode varchar2(10) := '&code필드';
vname varchar2(10) := '&c_name필드';
vprice number := '&c_price필드';
begin
update consumer set c_name = vname, c_price = vprice
where code = vcode ;
end;
/
code필드의 값을 입력하십시오: A04
구 2: vcode varchar2(10) := '&code필드';
신 2: vcode varchar2(10) := 'A04';
c_name필드의 값을 입력하십시오: 수지
구 3: vname varchar2(10) := '&c_name필드';
신 3: vname varchar2(10) := '수지';
c_price필드의 값을 입력하십시오: 4000
구 4: vprice number := '&c_price필드';
신 4: vprice number := '4000';
PL/SQL 처리가 정상적으로 완료되었습니다.
아래의 방식처럼 변수를 사용하지 않고 바로 입력받을 수 있는데
다만 달라지는게 있으니 등장하는 변수부터 입력받아 직관적이지는 않음
-- 3가지를 입력받고 입력받은 값중 하나는 where절 조건으로 사용하고, 나머지 2가지는 update 하는데 사용
begin
update consumer set c_name = '&c_name필드', c_price = '&c_price필드'
where code = '&code필드' ;
end;
/
c_name필드의 값을 입력하십시오: 수지
c_price필드의 값을 입력하십시오: 4000
구 2: update consumer set c_name = '&c_name필드', c_price = '&c_price필드'
신 2: update consumer set c_name = '수지', c_price = '4000'
code필드의 값을 입력하십시오: A04
구 3: where code = '&code필드' ;
신 3: where code = 'A04' ;
PL/SQL 처리가 정상적으로 완료되었습니다.
3. DELETE 쿼리를 사용하는 방법
begin
delete from consumer where code = 'A09';
end;
/
PL/SQL 처리가 정상적으로 완료되었습니다.
--code 값을 사용자 입력을 받아 삭제
declare
vcode varchar2(10) := '&code';
begin
delete from consumer where code = vcode;
end;
/
code의 값을 입력하십시오: A04
구 2: vcode varchar2(10) := '&code';
신 2: vcode varchar2(10) := 'A04';
PL/SQL 처리가 정상적으로 완료되었습니다.