( 책보면서 이해해야 하는 파트)
SELECT 검색 / INSERT 삽입 / DELETE 삭제 / UPDATE 내용변경
SELECT ~ FROM ~ WHERE ~
INSERT ~ INTO ~ VALUES ~
DELETE ~ FROM ~ WHERE ~
UPDATE ~ SET ~ WHERE ~
절차형 SQL을 활용해 특정 기능을 수행하는 트랜잭션 언어, 미리 저장해 놓은 SQL 작업을 수행
프로시저를 만들어 DB에 저장하면 여러 프로그램에서 호출이 가능
스토어드 프로시저라고 불림
DECLARE / BEGIN / END
프로시저 생성 : CREATE PRODUCTURE 프로시저 명
프로시저 실행 : EXECUTE / EXEC / CALL
프로시저 제거 : DROP
DB시스템에서 삽입,갱신,삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
목적 : 데이터 변셩 및 무결성유지, 로그메세지 출력 등
트리거 구문에는 DCL사용 X, DCL이 포함되어 있어도 오류발생
오류가 있는 경우 데이터 안에도 영향을 끼쳐 트리거 생성시 주의
DECLARE / EVENT / BSGIN / END
트리거 생성 : CREATE TRIGGER 트리거명 ON
트리거 제거 : DROP
프로시저와 유사하게 SQL을 사용해 일련의 작업을 연속적으로 처리, 종료 시 결과를 단일값으로 반환하는 절차형 SQL
DB에 저장되어 DML문의 호출에 의해 실행, 예약어 RETURN을 통해 값을 반환하기 때문에 출력파라미터가 없음
INSERT, DELETE, UPDATE 를 통한 테이블 조작은 불가능하고 SELECT를 통한 조회만 가능
프로시저 호출 X
프로시저 vs 사용자 정의함수 비교 !!!(책에서 적기)
DECLARE / BEGIN / RETURN / END
사용자 정의 함수 생성 : CREATE FUNCTION
사용자 정의 함수 제거 : DROP
진행 순서를 변경하기 위해 사용하는 명령문
쿼리문의 결과가 저장되어있는 메모리 공간을 가리키는 포인터
열기(Open), 패치(Fetch), 닫기(Close)
SQL%FOUND - 쿼리 수행의 결과로 패치된 튜플 수가 1개 이상이면 TRUE
SQL%NOTFOUND - 쿼리 수행의 결과로 패치된 튜플 수가 0개이면 TRUE
SQL%ROECOUNT - 쿼리 수행의 결과로 패치된 튜플수 반환
SQL%ISOPEN - 커서가 열린 상태이면 T, 묵시적은 자동생성후 닫히기 때문에 항상 F