ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DB Transact-SQL
    Database/MS-SQL 2008. 10. 1. 10:58
    반응형

    SQL 과 TSQL 을 비교야해보아한다

    SQL 은 ISO ANSI 표준
    마이크로 소프트에서 만들어진 규격 Transact-SQL ( TSQL) ex) 오라클은 pl/sql 이라고부름
    ex) INSET INTO 가 표준  ex) INSET 는 야메

    데이터 조작 언어(DML)
    대표적인 DML 문에는 SELECT, INSERT, UPDATE, DELETE가 있음 

    명령문 실행 제어: CREATE DATABASE 등의 명령문을 실행할 수 있는 권한을 특정 사용자에게 부여하거나 제거하는 것 

    데이터 정의 언어(DDL)

    Transact-SQL을 기능에 따라 구분

    ▸ 데이터 정의 언어(DDL)

    데이터 제어 언어(DCL)

    데이터 조작 언어(DML)

     DDL 문은 데이터베이스의 구조를 생성, 변경 또는 제거하는 명령문

     구문:

    CREATE object_kind object_name options

    ALTER object_kind object_name options

    DROP object_kind object_name [ , ...n ] 

    데이터 제어 언어(DCL)

    데이터 제어 언어(DCL, Data Control Language) 문은 데이터베이스의 특정 개체에 대한 액세스나 특정 명령문의 실행을 제어하는 명령문

    개체 액세스 제어: 특정 테이블을 조회할 수 있는 권한을 특정 사용자에게 부여하거나 제거하는 것

    명령문 실행 제어: CREATE DATABASE 등의 명령문을 실행할 수 있는 권한을 특정 사용자에게 부여하거나 제거하는 것

    DDL 문은 데이터베이스의 구조를 생성, 변경 또는 제거하는 명령문

    구문:

    GRANT options

    DENY options

    REVOKE options 


    식별자 생성 규칙


    1128자의 글자로 구성됨

    ▸ 공백은 포함할 수 없으며, 예약어만으로 식별자를 만들 수 없음

    ▸ 첫째 글자는 유니 코드 표준 2.0에서 정의된 문자여야 함

    ▸ 첫째(및 둘째) 글자가 다음과 같은 식별자는 특별한 용도로 사용됨

    - '@'로 시작되는 식별자는 지역 변수(local variable) 또는 인자(parameter)를 나타냄

    - '#'으로 시작되는 식별자는 지역 임시 테이블 또는 프로시저를 나타냄

    - '##'으로 시작되는 식별자는 전역 임시 테이블 또는 프로시저를 나타냄

    - '#' 또는 '##'으로 시작되는 임시 개체의 이름은 '#' 또는 '##'을 포함하여 29자를 넘지 않도록 해야 함(내부적으로 이 식별자에 숫자 접미사가 붙기 때문) 


    비트 단위 연산자


     &(비트 단위 AND), |(비트 단위 OR), ^(비트 단위 XOR)

     [1] &(비트 단위 AND) 연산

      PRINT 1 & 0

     [2] |(비트 단위 OR) 연산

      PRINT 1 | 0

     [3] ^(비트 단위 XOR) 연산

      PRINT 1 ^ 1 

    문자열 연결 연산자 +

    주의: 문자열을 연결할 때 숫자 데이터 형은 반드시 문자 데이터 형으로 변환한 후 연결에 사용해야 한다



    연산자
    ex) PRINT 5/3 ( 연산자 +, -, *, /, % )

     =(같다), >(크다), <(작다), >=(크거나 같다), <=(작거나 같다), <>(같지 않다) 



    흐름제어

    BEGIN...END 블록

     하나 이상의 명령문들이 한꺼번에 실행되도록 묶어줌

     C 계열 언어(C, C++, 자바, C#){ } 블록과 같다고 생각하면 된다.


    시스템 제공 함수 

    행 집합 함수

    집계 함수 

    스칼라 함수 



    동적 명령 실행

    동적 명령 실행: Transact-SQL 명령문()을 고정적으로 미리 작성해 두는 것이 아니라, 실행하기 직전에 동적으로 구성한 후 이를 실행하는 것

    사용자의 입력을 받은 후 명령문을 결정해야 하는 경우에 많이 사용함

    구문:

         EXEC[UTE] ( { @string_variable | [ N ] 'tsql_string' }

           [ + ...n ] )

    EXECUTE 또는 생략형 EXEC를 둘 다 쓸 수 있는데, 생략형을 더 많이 쓰는 편임

    ( )는 생략할 수 없음

    ▸ 하나 이상의 문자형 변수 또는 문자열 상수를 +로 연결하여 명령문을 만듬

    ▸ 중간에 숫자 형이 나올 경우에는 CONVERT 함수 등을 사용하여 반드시 문자형으로 변환한 후 연결해야 함

    ▸ 연결할 때 중간에 공백을 삽입하는 것을 잊지 말아야 함



    스크립트

    스크립트: 파일로 저장된 하나 이상의 Transact-SQL 명령문이나 배치

     파일의 확장자는 보통 .sql

     저장된 스크립트는 쿼리 분석기나 osql 등에 로드해서 재실행할 수 있으므로 편리함 







    반응형

    댓글

Designed by Tistory.