'2017/01/27'에 해당되는 글 53건

  1. 2017.01.27 MS SQL.PLSQL - 실행과정
  2. 2017.01.27 MS SQL.PLSQL - 종류
  3. 2017.01.27 MS SQL.PLSQL - 문법
  4. 2017.01.27 MS SQL.PLSQL - 문법
  5. 2017.01.27 MS SQL.PLSQL - 단점
  6. 2017.01.27 MS SQL.PLSQL - 장점
  7. 2017.01.27 MS SQL.PLSQL - 특징
  8. 2017.01.27 DB2.View - Sample
  9. 2017.01.27 DB2.Store Procedure - Sample
  10. 2017.01.27 DB2.Store Procedure - Syntax

[ MS SQL.PLSQL - 실행과정 ]

 

 

 

1. Parsing            :  Microsoft SQL Server 명령 해석기 모듈이 처리되는 동안 첫 번째로 배치의 문법을 검사하는 과정이다. 오류가 발견

                              되지 않으면 Microsoft SQL Server 명령 해서기는 키워드, 식별자 그리고 연산자와 같은 논리적인 단위들로 수스를 나눈다. 해석기는(Parser)

                              요청된 작업의 수행 또는 소스 데이터로부터 요청된 결과 세트를 추출하기 위해 필요한 일련의 작업단계를 기술하는 내부 구조를 구축하게

                              될 것이다. Batch가 쿼리를 포함한다면 이 내부 구조는 Query tree 라고 불리고  batch 가 프로시저를 포함한다면 그것은 sequece tree 라고 불리운다.

 

2. Compilation  :  이 단계에서 sequece tree 는 실행계획을 생성하기 위해 이용된다. Optimizer module 은 정보가 소스 테이블로부터 추출되는 방법을 분석한다.

                             Optimizer module 은 가장 적은 리소스를 사용하여 가장 빠른 방법들을 찾는 방법을 시도하게 된다.(processing time). 또한 실행될 필요가  있는

                             작업의 리스트를 보충한다. (한예로 보안을 체코하고 constraints 가 샐행되는 것을 점검하고 프로세싱에서 그들이 합쳐져야 할 필요가 있다면

                             triggers 를 포함할 것이다.)  결과는 실행계획(Execution Plan)이라고 불리우는 내부 구조이다.

 

3. Execution      : 실행계획은 프로시저 캐시에 저자오디고 저장된 곳으로부터 실행된다. 실행계획에서 다른 단계들은 실행되는데 관려되는 엔진의 다른 모듈에

                            붙여진다.(DML 매니저, DDL 매니저,  SP 매니저, transaction 매니저 또는 유틸리티 매니저).

 

 

 

'(DB) MS SQL > Procedure (단계별스터디)' 카테고리의 다른 글

MS SQL.PLSQL - 매개변수전달  (0) 2017.01.27
MS SQL.PLSQL - 실행계획  (0) 2017.01.27
MS SQL.PLSQL - 종류  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
Posted by 농부지기
,

[ MS SQL.PLSQL - 종류 ]

 

1. 사용자 정의 ( User - Defined )  SP

2. 시스템 ( System ) SP

3. 확장 ( Extended ) SP

4. 임시 ( Temporary ) SP

5. 전역임시 ( Global Temporary ) SP

6. 원격 ( Remote ) SP

 

'(DB) MS SQL > Procedure (단계별스터디)' 카테고리의 다른 글

MS SQL.PLSQL - 실행계획  (0) 2017.01.27
MS SQL.PLSQL - 실행과정  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 단점  (0) 2017.01.27
Posted by 농부지기
,

[ MS SQL.PLSQL - 문법 ]

 

- 생성 : CREATE  PROC [ EDURE ]    procedure_name    [ ;number ]

                  [  {   @parameter          data_type    [VARYING]    [ = default  ]   [ , …… ] ]

                  [  {   @out_parameter   data_type    ouput                [ , …… ] ]

                  [   WITH   { RECOMPILE

                                       ¦ ENCRYPTION

                                       ¦ RECOMPILE,   ENCRYPTION   }         ]

                  [ FOR  REPLICATION ]

              AS

                  Declare    @var_name        data_type  [,……]

 

                  sql_statement [……..n]

 

 

- 삭제 : DROP    PROCEDURE       procedure_name

 

 

- 존재 확인 : IF    exists ( SELECT   *   FROM    SysObjects

                                          WHERE   id = object_id  ( ‘sp_name’ )

                                          AND        ObjectProperty ( ID ,   ‘IsProcedure’)  =   1  )

 

 

해법

 

- [;number] : SP이름에 추가 할 수 있는 선택적 정수.

- Encryption : SP를 생성할 때 SP의 코드를 암호화 해서 DB에 저장.   시스템관라자 조차도 암호화된 SP를 얻을 수 없다.

- For Repliation : 보통 데이터베이스가 복제되는 동안 필터로 사용되는 것으로 SQL Server 에 의해 생성된다. SP에 대한 출력 매개변수는 Cursor 데이터타입으로

                             존재 할 수 있다. 이런 경우 커서에 의해 포함된 Resultset 의 구조는 변경 되어야 한다.

- WITH   RECOMPILE : 이 SP 는 실행 중 캐시에 등록되지 않고 매번 재 컴파일을 한다.6+

 

'(DB) MS SQL > Procedure (단계별스터디)' 카테고리의 다른 글

MS SQL.PLSQL - 실행과정  (0) 2017.01.27
MS SQL.PLSQL - 종류  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 단점  (0) 2017.01.27
MS SQL.PLSQL - 장점  (0) 2017.01.27
Posted by 농부지기
,

[ MS SQL.PLSQL - 문법 ]

 

1. Client Source 만으로 bug 를 잡을 수 없다.

2. 다른 사람이 트리거를 만들 었을 경우 문서가 없으면 존재 하는지 모를 수 있다. ( 그래서 필히 트리거에 대한 문서화를 해야만 한다)

3. 큰 프로젝트를 진행시 트리거를 너무 많이 사용하게 되면 예기치 못한 결과도 초래 할 수 있다. (중첩트리거 때문에….)

 

'(DB) MS SQL > Procedure (단계별스터디)' 카테고리의 다른 글

MS SQL.PLSQL - 종류  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 단점  (0) 2017.01.27
MS SQL.PLSQL - 장점  (0) 2017.01.27
MS SQL.PLSQL - 특징  (0) 2017.01.27
Posted by 농부지기
,

[ MS SQL.PLSQL - 단점 ]

 

1. Client Source 만으로 bug 를 잡을 수 없다.

2. 다른 사람이 트리거를 만들 었을 경우 문서가 없으면 존재 하는지 모를 수 있다. ( 그래서 필히 트리거에 대한 문서화를 해야만 한다)

3. 큰 프로젝트를 진행시 트리거를 너무 많이 사용하게 되면 예기치 못한 결과도 초래 할 수 있다. (중첩트리거 때문에….)

 

 

'(DB) MS SQL > Procedure (단계별스터디)' 카테고리의 다른 글

MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 문법  (0) 2017.01.27
MS SQL.PLSQL - 장점  (0) 2017.01.27
MS SQL.PLSQL - 특징  (0) 2017.01.27
Java에서 TableType으로 Procedure 호출 2  (0) 2017.01.06
Posted by 농부지기
,

[ MS SQL.PLSQL - 장점 ]

 

1. Check 제약등으로 구현하기 힘든 것들을 트리거로 구현.

2. Network Traffic 이 없다.

3. 차후 Maintenance 를 할 경우 Application 은 수정 할 필요 없이 Trigger 만 수정 하면 된다.

    이렇게 되면 실행 Module 을 각 사용자에게 Copy 해줄 필요가 없다. Trigger 는 Server 에서 작동 하기 때문이다.

4. Application 작성시 코딩이 쉬워 진다.

Posted by 농부지기
,

[ MS SQL.PLSQL - 특징 ]

 

1. SP는 반복적인 사용을 위해 서버 상에서 Transact-SQL 문장의 집합을 캡슐화 하는 데이터베이스 개체(Object)이다.  ( MS-Sql Server 는 T-SQL  문법을 사용)

Posted by 농부지기
,

DB2.View - Sample

(DB) DB2/View 2017. 1. 27. 23:25

[ DB2.View - Sample ]

 

SET SCHEMA PRD;

 

SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","PRD";

 

CREATE VIEW PRD.Z_USER_VIEW

 (USER_ID,

  USER_NM,

  USER_NO,

  CO_CD,

  CO_NM,

  DEPT_CD,

  DEPT_NM,

  GUBUN,

  SEG_CD,

  SEG_NM,

  INTER_PHON,

  HAND_PHON,

  E_MAIL

 )

  AS  SELECT USER_ID, USER_NM, USER_NO ,CO_CD, CO_NM , DEPT_CD, DEPT_NM , 'I' AS

    GUBUN ,SEG_CD, SEG_NM ,INTER_PHON, HAND_PHON, E_MAIL

  FROM COM.COM_USER_TBL

  WHERE 1=1

    AND DEL_FLAG <> 'Y'

    AND STOP_FLAG <> 'Y'

UNION ALL

SELECT USER_ID, USER_NM, '' AS USER_NO ,CO_CD, CO_NM , DEPT_CD, DEPT_NM, 'O'

    AS GUBUN ,SEG_CD, SEG_NM ,INTER_PHON, HAND_PHON, E_MAIL

  FROM COM.COM_OUTUSER_TBL;

Posted by 농부지기
,

[ DB2.Store Procedure - Sample ]

 

SET SCHEMA MISADM  ;

 

SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","MISADM";

 

CREATE PROCEDURE PRD.SQLSAMP

 (IN PRDDIAY_NO VARCHAR(10),

  IN PRDT_BGN_DD VARCHAR(8),

  IN PRDT_END_DD VARCHAR(8)

 )

  SPECIFIC PRD.SQLSAMP

  DYNAMIC RESULT SETS 1

  LANGUAGE SQL

  NOT DETERMINISTIC

  CALLED ON NULL INPUT

  MODIFIES SQL DATA

  INHERIT SPECIAL REGISTERS

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

-- SQL Stored Procedure sqlsamp

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

P1: BEGIN

    -- Declare cursor

    DECLARE cursor1 CURSOR WITH RETURN FOR

        SELECT

              f_diarycsmmst_tbl.prddiay_no,

              f_diarycsmmst_tbl.psn_cd,

              f_diarycsmepn_tbl.BRD1_EPN,

              f_diarycsmepn_tbl.BRD2_EPN ,

              f_diarycsmepn_tbl.BRD3_EPN

        FROM

           f_diarycsmmst_tbl,

           f_diarycsmepn_tbl

        WHERE

           (

              (

                f_diarycsmmst_tbl.prddiay_no = f_diarycsmepn_tbl.prddiay_no

              )

           );

 

    -- Cursor left open for client application

    OPEN cursor1;

 

END P1;

 

GRANT EXECUTE ON PROCEDURE PRD.SQLSAMP

 (VARCHAR(10),

  VARCHAR(8),

  VARCHAR(8)

 )

  TO USER PRD WITH GRANT OPTION;

 

 

 

'(DB) DB2 > Stored Proecedure' 카테고리의 다른 글

DB2.Store Procedure - Syntax  (0) 2017.01.27
Posted by 농부지기
,

[DB2.Store Procedure - Syntax ]

 

 

1. IF 문
     IF .. THEN
        ...
    ELSEIF  ... THEN
        ...
    ELSE
        ...
    END IF;
 

   IF   IS NULL THEN
         ....
   END IF;
 

2. WHILE 문
      WHILE 조건
           ....
       END;
 

3. goto 문
    Main_state:
           WHILE 조건
                  ....
                 LEAVE  Main_state:
           END;
 

'(DB) DB2 > Stored Proecedure' 카테고리의 다른 글

DB2.Store Procedure - Sample  (0) 2017.01.27
Posted by 농부지기
,