(보충) 프로시저

NA YE SOM·2023년 7월 13일
0

★ 경력이 쌓이면 ) 프로시저를 쓰고 싶을때가 생김
(초기에는 자바에서 한줄씩 부름, 구매라는 method 부르고 하다가 -> 경력이 쌓이면 한번 부르고 끝내고 싶은 것이 생김)


EXEC : 최대 4글자까지 명령어 줄여서 사용가능


-> 없을때는 만들고 없을때는 만들어줌(DROP 필요없음)


변수이름 직접 지정 : 스칼라 방식


-> 오라클 대입연산자

  1. 프로시저 정의(프로시저 만들기)




-> 최초 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공부하가ㅣ!
-> 사용자 함수 쓸때 받는것과 주는것 구성하기!

profile
개발자 velog

0개의 댓글