★ 경력이 쌓이면 ) 프로시저를 쓰고 싶을때가 생김
(초기에는 자바에서 한줄씩 부름, 구매라는 method 부르고 하다가 -> 경력이 쌓이면 한번 부르고 끝내고 싶은 것이 생김)
EXEC : 최대 4글자까지 명령어 줄여서 사용가능
-> 없을때는 만들고 없을때는 만들어줌(DROP 필요없음)
변수이름 직접 지정 : 스칼라 방식
-> 오라클 대입연산자
- 프로시저 정의(프로시저 만들기)
-> 최초 1회 한번 실행을 해야 결과를 볼 수 있음
PLSQL은 실행시 BLOCK잡고 실행
-> 성공메시지
-> AS 대신 IS 사용가능
-> 사원번호를 전달하면
-> 206을 준다 : 받는 쪽을 만든다
★★ 자바-메소드 수업이랑 비슷
-> EMPLOYEES테이블에 있는 EMPLOYEE_ID 같은 타입
-> 변수 선언
206이 전달되서 EMPLOYEEID로 들어가고 206을 100에 쓰면 206번의 값이 나옴
파라미터 = 변수
파라미터와 인수를 혼용해서 쓴다
-> 오라클에 프로시저에서만 있는 개념(입력 파라미터)
변수 이름 ( 사이(IN) ) 타입
-> 206이 들어온다는 의미 : IN
<-> 반대
-> PLSQL 선언 후
-> 사원번호가 100인 사원을 어떻게 집어넣을 것인가
-> 프로시저로 넘겨준것(여기에 담아달라고, FIRSTNAME,LASTNMAE)
-> 이런식으로 동작하는 경우 많이 없음
-> 안에 값을 넣어줘야하는 상황
-> 값을 담아주세요
-> 이름 타입 사이에 -> OUT 명시
-> OUT에 의해서 방향이 달라짐 (밖으로 빼주라)
-> 선언할 변수가 없어도 AS, BEGIN 써주기
-> 호출영역으로 방향을 바꿔줌
★(실무) 어떤 곳으로 값을 전달하는 것 : 많이 있는 일
-> 전달했는데 저장하는 걸 이해못하면 안됨.
구매작업 : 고객, 주문, 상품 3개의 테이블을 건드려야 해서
-> 프로시저로 만들면 편함
-> 프로시저로 전달해주는 것
-> 받아온다
-> 무슨 제품 몇개 줄었다
얼마인지는 제품테이블에 따로 있음
-> 구매액
-> CELI
-> 첫번째 구매내역
-> 트랜잭션 처리
-> 실패했으면 어떤 실패인지 적기
*트리거 : 삽입,수정,삭제 자동으로 일어나는 일
(ex) 삭제한 정보 : 분리보관할때(회원,사원 명단 - 탈퇴해서 제거된 데이터 따로 모임)
(삭제할때마다 따로 코드를 적는 건 아님)
-> 입력파라미터만 있음(함수로 전달하는것만 가능)
-> 선언할 변수 없으면 생략가능
-WITH : 임시로 저장해놓고 곧바로 쓰는 개념
(함수 이용해서 조인 없이 해결하는 방법)
-> 부서이름 가져오기
-> 부서번호를 전달해주기
-> WITH는 만들었으면 바로 써야 함
-> JOIN없이 나옴
-> 어느정도 흐름이 보이면 DB공부하가ㅣ!
-> 사용자 함수 쓸때 받는것과 주는것 구성하기!