일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 버추얼머신
- html
- VLAN
- cisco packet
- 이것이 자바다
- 오라클
- 원형그래프
- 리눅스
- 네트워크관리사
- jsp
- 정처기필기
- sql
- jsp연결
- php
- javaee
- ospf
- Java
- Oracle
- 자바
- Cisco
- w3school
- 참조타입
- 네트워크
- rinux
- 라우터
- NCS
- 데이터베이스
- ciscopacket
- 정보처리기사
- autoset
- Today
- Total
기록해! 정리해!
7-3 (프로시저) 본문
--프로시저를 사용하면 쿼리문을 DBMS(오라클)에서 가지고 있다
7. insert 구문
create or replace procedure sp_insert
(
i_sno varchar2,
i_sname varchar2,
i_dept varchar2,
i_year varchar2
)
is
begin
insert into student (sno, sname, dept, year)
values (i_sno, i_sname, i_dept, i_year);
end;
execute sp_insert('911','가나다','전산','4'); --값 넣고 끝, 리턴 안함
select * from student;
8. update 구문
create or replace procedure sp_update
(
i_sno varchar2,
i_sname varchar2
)
is
begin
update student set sname=i_sname
where sno=i_sno;
end;
execute sp_update('100','민수');
select * from student;
9. delete 구문
create or replace procedure sp_delete
(
i_sno varchar2
)
is
begin
delete from student
where sno=i_sno;
end;
execute sp_delete('911'); --형 맞춰보기
select * from student;
10. Select 구문
1)
create or replace procedure sp_select1
as
var1 varchar2(10);
var2 varchar2(10);
var3 varchar2(10);
begin
select sno, sname, dept
into var1, var2, var3
from student
where sno='100';
DBMS_OUTPUT.put_line(var1||var2||var3); --한 라인만 출력 가능
end;
execute sp_select1;
--출력: 100민수컴퓨터
2)
create or replace procedure sp_select2
(
strSno in varchar2 --입력변수
)
as
var1 varchar2(10); --출력변수
var2 varchar2(10);
var3 varchar2(10);
begin
select sno, sname, dept
into var1, var2, var3
from student
where sno=strSno; --변수니까 sno='strSno'하면 안됨
DBMS_OUTPUT.put_line(var1||var2||var3);
DBMS_OUTPUT.put_line('하나의 라인만 출력됩니다);
DBMS_OUTPUT.put_line("출력성공!!!");
end;
execute sp_select2('300');
--출력: 300정기태컴퓨터
하나의 라인만 출력됩니다
출력성공!!!
3)
create or replace procedure sp_select3
(
ret out pkg.t_ref,
strSno in varchar2 --입력변수
)
is
begin
open ret for
select sno, sname, dept
from student
where sno=strSno;
end;
execute sp_select3('300');
--출력: 300정기태컴퓨터
2)랑 3)이랑 같음
4)
create or replace procedure sp_select4
(
ret out pkg.t_ref,
strDept in varchar2 --입력변수
)
is
begin
open ret for
select sno, sname, dept
from student
where dept like strDept;
end;
--프로시저 실행 in값에 %컴%
--출력: 컴퓨터과 다 나옴
create or replace procedure sp_select5
(
ret out pkg.t_ref,
strDept in varchar2 --입력변수
)
is
begin
open ret for
select sno, sname, dept
from student
where dept like '%'||strDept||'%';
end;
--프로시저 실행 in값에 컴
--출력: 컴퓨터과 다 나옴
11. 함수와 메소드
클래스 안에 들어있으면 메소드
안들어 있으면 함수
'Oracle' 카테고리의 다른 글
7-예제2(big data-trigger) (0) | 2022.05.24 |
---|---|
7-4(bigdata) (0) | 2022.05.24 |
7-2 (0) | 2022.05.24 |
6-SQL 기본문법 정리 (0) | 2022.05.24 |
7-1 (0) | 2022.05.24 |