Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[6주차] 29. PL/SQL언어, INSERT, UPDATE, DELETE 쿼리 사용방법 본문

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 처리가 정상적으로 완료되었습니다.
Comments