본문 바로가기
In Class/Spring

SubQuery

by 산과잔 2020. 11. 11.

MVC 

=Model (java) -> Sercive       (Spring : Controller 요청을 받아서 기능을  제어하는 프로그램

=View (jsp)   -> 화면출력      ( Spring : JSP

=Controller   -> Model + JSP  (Spring : DispatcherServlet : Front Controller )

                                             요청을 받아서 Model + JSP 를 연결해주는 역할 

 

 

SubQuery 종류

----------------------------

1. 단일행 서브쿼리 : 결과값이 1개

2. 다중행 서브쿼리 : 결과값이 여러개 (IN ANY ALL)

----------------------------- 조건문 사용 (WHERE ~)

3. 스칼라 서브쿼리 
----------------------------- 컬럼 대체

4. 인라인 뷰 (Top-N)

----------------------------- 테이블 대체 

 

[실행 과정]

1. 서브쿼리가 실행 하면 결과값을 메인쿼리로 전송

ex) SELECT ~~

    FROM table_name   3    <-

    WHERE 컬럼명 연산자 (SELECT~~)(조건)      서브쿼리는 먼저 수행 한다. 반드시 괄호

                          2        <-  1

 

커서 사용하는 방법

1.커서 등록

Cursor cur_name IS
        SELECT * FROM emp 

2. open

3. fetch

4. close

 

PROCEDURE

생성 -> ALTER 가 없다

CREATE [OR REPLACE] PROCEDURE pro_name(

   매개변수,

   매개변수...

   1) 스칼라 변수

   2) %TYPE

)

IS ( AS )

   지역변수 설정

BEGIN

   제어 -> 제어문, 연산자, SQL 

END;

/

 

삭제

   DROP PROCEDURE peo_name;

호출

   SELECT -> EXECUTE

   INSERT, UPDATE,DELETE -> CALL 

 

매개변수 

IN : 내부에서만 사용하는 변수 
OUT : Call By Reference -> 결과값을 받는 변수 
INOUT : 내부사용 가능, 값을 받는 변수 

 

예)

CREATE PROCEDURE empINSERT(

   name IN VARCHAR2(20),

   addr IN VARCHAR2(100),

   tel IN VARCHAR2(20),

   result OUT VARCHAR2(100) -> 메모리주소 (주소에 값을 채운다 )

)

 

int * p ;

void disp(int *p,int k)

{

   *p=100;

}

disp(p) ; -> p=100

 

 

 

 

 

 

 

 

'In Class > Spring' 카테고리의 다른 글

Tiles  (0) 2020.11.16
Spring  (0) 2020.11.09
[json]오라클 사용하지않고 데이터 갖고오기  (0) 2020.11.09
request  (0) 2020.11.02
request  (0) 2020.11.02