티스토리 뷰

3학년 2학기/DB

저장 프로시저

Hading 2016. 11. 4. 11:12

CREATE OR REPLACE PROCEDURE
print_hello(p in nvarchar2)
IS
BEGIN
 DBMS_OUTPUT.PUT_LINE('Hello World!'||p);
--System.out.println("Hello World"+p) 과 유사한 기능을 가진다.
-- "Hello World"+p => String concatenation
END;
/
SET SERVEROUTPUT ON

EXECUTE print_hello('홍길동');
-- 이것은 프로시저가 DBMS에 저장되어 있고 이 내용을 호출하여 붙여서 나옴

select *from USER_SOURCE;
select *from student;

--학과별로 학생의 인원을 계산해서 ST_DEPT 테이블에 기록
delete st_dept;
insert into st_dept
select dept,count(*) from student group by dept;

select*from st_dept;

drop table st_dept;

create table st_dept(
  dept nvarchar2(10),
  stnum number(3));
 
CREATE OR REPLACE PROCEDURE
refresh_st_dept
is
begin

delete st_dept; -- 먼저 안에있는 데이터 지우고
insert into st_dept -- 데이터 삽입
select dept,count(*) from student group by dept;
end;
/

insert into student values (900,'나라',3,'IT');
select * from student;
execute refresh_st_dept;

commit;

create view st_dept_view (dept,snum)
as
select dept,count(*) from student group by dept;
-- 뷰로도 사용이 가능하다 . 반드시 프로시저를 쓰란 말이 아님
select * from st_dept_view;

'3학년 2학기 > DB' 카테고리의 다른 글

트리거  (0) 2016.11.04
함수  (0) 2016.11.04
SQL-View  (0) 2016.11.01
조인의 종류  (0) 2016.10.17
관계대수와 관계해석  (0) 2016.10.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/07   »
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 31
글 보관함