innn

2022.07.20 본문

CS/데이터베이스

2022.07.20

33삼 2022. 7. 20. 15:34

전자정부는 100% 오라클꺼를 씀.
프로시쥬어 = 펑션 과 같다고 보면 됨. 자바에서는 메소드와 같다고 보면 됨. 어떤 기능을 전문으로 하는 것이 프로시쥬어 sql만으로 처리하기 어려운 문제를 해결해줌.

 

다른 것 보다 트리거 때문에 plSQL을 많이 돌려놓는다.

트리거 때문에 많이 사용되는 PL SQL

프로시저로 삽입 작업을 하면 좀 더 복잡한 조건의 삽입 작업을 수행 할 수 있다. 

Z크리에이트 오어 리플레이스 프로시쥬어 하고 프로시저 이름 (괄호 열고

변수명 IN 변수타입(숫자)

IN 바깥에서 쏴주는 데이터를 얘가 받겠다. 

 

AS 다음에 변수를 선어하는데 여긴 간단한 프로그램이라서 변수는 없다 

BEGIN INSERT 로 시작해서 VALUES로 값을 넣는다.

 

12번라인부터는 실행하는 프로시쥬어다

EXEC >>> 실행하는 부분 

() 괄호 안 데이터가 파라메타 myBookID, myBookName 등 매개변수로 들어감. 

 

set server output on 을 적어줘야 결과값을 볼 수 있음
커서 실행결과 테이블을 한 번에 한 행씩

패치 = 다른데서 읽어올때 패치라고 함.

트리거는 데이터의 변경(INSERT, DELETE, UPDATE)문이 실행될 때 자동으로 따라서 실행되는 프로시쥬어를 말한다.
:new 는 새로 삽입될 튜플의 값을 가리키는 지정자이다.

 

 

프로시저와 트리거와 사용자 정의함수의 공통점과 차이점
트랜잭션은 데이터를 다루는 논리적 작업의 단위임. 트랜잭션은 ALL OR NOTHING 임.

은행 업무에서 A계좌에서 B계좌로 이체할때 A계좌 인출 업데이트, B계촤 입금 업데이트 이렇게 전체 과정을 하나로 묶어서 처리하는 게 트랜잭션. 그래서 트랜잭션은 은행업무 관련된 쪽에선 필수다.

 

트랜잭션 = ACID

 

트랜잭션이 원자처럼 더 이상 쪼개지지 않는 하나의 프로그램 단위로 동작해야한다는 의미다. acid에서 a

일부만 수행되는 일이 없어야한다 트랜잭션은 그래서 원자성의 특징을 가짐. 

'CS > 데이터베이스' 카테고리의 다른 글

정규화 총정리 (1)_이상 현상(삽입, 삭제, 수정 이상)  (0) 2022.07.20
2022.07.19  (0) 2022.07.19
데이터 베이스 시스템의 개념  (0) 2022.07.17
2022.07.14  (0) 2022.07.17
2022.07.07  (0) 2022.07.17