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, Data Control Language) 문은 데이터베이스의 특정 개체에 대한 액세스나 특정 명령문의 실행을 제어하는 명령문
개체 액세스 제어: 특정 테이블을 조회할 수 있는 권한을 특정 사용자에게 부여하거나 제거하는 것
명령문 실행 제어: CREATE DATABASE 등의 명령문을 실행할 수 있는 권한을 특정 사용자에게 부여하거나 제거하는 것
DDL 문은 데이터베이스의 구조를 생성, 변경 또는 제거하는 명령문
구문:
GRANT options
DENY options
REVOKE options
식별자 생성 규칙
1~128자의 글자로 구성됨
▸ 공백은 포함할 수 없으며, 예약어만으로 식별자를 만들 수 없음
▸ 첫째 글자는 유니 코드 표준 2.0에서 정의된 문자여야 함
▸ 첫째(및 둘째) 글자가 다음과 같은 식별자는 특별한 용도로 사용됨
- '@'로 시작되는 식별자는 지역 변수(local variable) 또는 인자(parameter)를 나타냄
- '#'으로 시작되는 식별자는 지역 임시 테이블 또는 프로시저를 나타냄
- '##'으로 시작되는 식별자는 전역 임시 테이블 또는 프로시저를 나타냄
- '#' 또는 '##'으로 시작되는 임시 개체의 이름은 '#' 또는 '##'을 포함하여 29자를 넘지 않도록 해야 함(내부적으로 이 식별자에 숫자 접미사가 붙기 때문)
비트 단위 연산자
&(비트 단위 AND), |(비트 단위 OR), ^(비트 단위 XOR)
[예 1] &(비트 단위 AND) 연산
PRINT 1 & 0
[예 2] |(비트 단위 OR) 연산
PRINT 1 | 0
[예 3] ^(비트 단위 XOR) 연산
PRINT 1 ^ 1
문자열 연결 연산자 +
주의: 문자열을 연결할 때 숫자 데이터 형은 반드시 문자 데이터 형으로 변환한 후 연결에 사용해야 한다.
BEGIN...END 블록
하나 이상의 명령문들이 한꺼번에 실행되도록 묶어줌
C 계열 언어(C, C++, 자바, C#)의 { } 블록과 같다고 생각하면 된다.
시스템 제공 함수
행 집합 함수
집계 함수
스칼라 함수
동적 명령 실행
동적 명령 실행: Transact-SQL 명령문(들)을 고정적으로 미리 작성해 두는 것이 아니라, 실행하기 직전에 동적으로 구성한 후 이를 실행하는 것
사용자의 입력을 받은 후 명령문을 결정해야 하는 경우에 많이 사용함
구문:
EXEC[UTE] ( { @string_variable | [ N ] 'tsql_string' }
[ + ...n ] )
▸ EXECUTE 또는 생략형 EXEC를 둘 다 쓸 수 있는데, 생략형을 더 많이 쓰는 편임
▸ ( )는 생략할 수 없음
▸ 하나 이상의 문자형 변수 또는 문자열 상수를 ‘+’로 연결하여 명령문을 만듬
▸ 중간에 숫자 형이 나올 경우에는 CONVERT 함수 등을 사용하여 반드시 문자형으로 변환한 후 연결해야 함
▸ 연결할 때 중간에 공백을 삽입하는 것을 잊지 말아야 함
스크립트
스크립트: 파일로 저장된 하나 이상의 Transact-SQL 명령문이나 배치
파일의 확장자는 보통 .sql임
저장된 스크립트는 쿼리 분석기나 osql 등에 로드해서 재실행할 수 있으므로 편리함
'Database > MS-SQL' 카테고리의 다른 글
데이터베이스 생성 T-SQL (0) | 2008.10.02 |
---|---|
데이터 베이스 기본구조 트렌젝션 (0) | 2008.10.02 |
데이터형과 데이터 무결성 (0) | 2008.10.01 |
T-SQL (0) | 2008.10.01 |
db DELETE문 + 팁 + 명령문정리 (0) | 2008.10.01 |
db 명령문 update (0) | 2008.10.01 |
080930 sql 정리 (0) | 2008.09.30 |
db 기본값 디폴트값 모든 열에 “DEFAULT”를 적용하고자 할 경우 (0) | 2008.09.30 |