Step it up now

procedure 사용하는 이유, 선언 본문

수업/SQL

procedure 사용하는 이유, 선언

케잉 2023. 11. 28. 19:16

왜 프로시저를 사용하는가? - 효율 
변수 - 재사용성, 일괄처리 

JDBC API 오라클 연동하기 
CRUD처리
------------------------------------------------------------------
테이블의 변화가 일어남
INSERT - 회원가입, 주문, 글등록, 구독, 반품
1->2->3
UPDATE - 좋아요, 회원정보수정, 
1->2->3
DELETE - 구독취소
1->2->3 
-------------------------------------------------------------------
SELECT - commit, rollback 대상이 아님 
1->2->3->4
SELECT * FROM 회원집합, 주문집합, 단가집합 
주문조회
누가? - 회원집합
언제? - 주문집합
얼마? - 단가집합
환불받기
INSERT처리
주문테이블 DELETE
SELECT, INSERT, DELETE 복합적으로 일어남 - 
커넥션을 한번 맺어서 한꺼번에 3가지 쿼리문을 처리받으려면 프로시저 사용할 수 있다
1,2- 모두에게 완전 일치하는 코드 



1. DriverClass 로딩(벤더 회사정보 취득) - 제품파악 - the others - 커넥션 맺기 
2. 쿼리문 전송하기 - DML 위해서 PrepareStatement 로딩(인스턴스화 - 생성 - 메모리)
3. 처리를 요청 - 오라클 서버가 일을 진행하고 처리 결과를 반환한다 - 반환값은 int이다 - 일괄처리(효율)
4. - select만 해당됨 - cursor조작함 - ResultSet

 

 

 

 

 

  • 선언 틀 
declare -- 이름이 없다 - 호출이 안됨 - 재사용이 안됨 - 이름이 필요하다
-- PL/SQL문 - 구조체 - 프로시저(재사용, 프로시저 호출, 커밋, 롤백적용), 함수(반환값이 있다)
-- 트리거 --> 호출하지 않고 자동으로 적용됨  - 사용하지 않을땐 비활성화 시켜둠 
CREATE OR REPLACE [Procedure, Function, Trigger] 이름 ()

is 

      --선언부
begin 
       -- 프로그램 - 사용, DML, commit, rollback, 반복문
       -- 여러건을 한 번에 처리하기
       -- 자동으로 채점하기
      exception
end;

 

'수업 > SQL' 카테고리의 다른 글

Prosedure - Insert, Update, Delete  (0) 2023.11.28
procedure - cursor  (1) 2023.11.28
procedure 출력 확인  (0) 2023.11.27
3명씩 줄 세우기  (0) 2023.11.26
ER-WIN/ DML  (0) 2023.11.26