MSSQL11 [SQL Server] Chapter 17. 커서 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 커서 : 각 행 별로 작업을 수행하는데 유용하다. 쿼리로 다음과 같은 작업을 수행할 수 있다. SQL문을 수행 시, 결과에 대해 집합(table형태)으로 반환한다. 커서는 이러한 결과에 대해 한 행 단위로 처리하게함 1) 결과 집합의 특정 행에 위치를 지정할 수 있다. 2) 결과 집합의 현재 위치에서 한 행 또는 행 블럭을 검색 3) 결과 집합의 현재 위치에서 행에 대한 데이터 수정 1. 커서 유형 (1) 정적커서 - 결과 집합을 tempdb에 복사본을 만들어 사용함. 원본에 변경이 생겨도 알 수 없다. 항상 읽기 전용 (2) 동적커서 - 정적커서와 대응되는 개념. 현재 위치의 키 값만 tempdb에 가짐. 원본의 모든 변동은 결과집합에 반영되고, .. 2014. 12. 10. [SQL Server] Chapter 16. 트리거 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 트리거 : 특정 테이블에 자료가 수정될 때, 내부적으로 관련된 다른 테이블이나 컬럼에 연동하여 갱신하거나 무결성을 지키기 위해 사용된다. 1. SQL Server의 트리거 - 트리거의 유형은 세가지로 INSERT, UPDATE, DELETE트리거를 만들 수 있다. 각 트리거는 각 작업이 수행된 셋 기준으로 작성된다. 몇개의 행이 영향을 받아도, 실행된 구문의 수 만큼 트리거가 작동된다. (1) 트리거의 사용용도 1) 관련테이블 변경 : 데이터 수정 전후의 테이블 상태 간 차이점을 찾아내고, 이 차이점에 따라 작업을 수행한다. 2) 참조 무결성 : 참조 무결성을 위해 FOREIGN KEY제약 조건을 사용하는 것이 좋지만, 그렇지 않을 경우 트리거를 활.. 2014. 12. 9. [SQL Server] Chapter 14. 저장 프로시저 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 저장 프로시저 : 일련의 쿼리를 하나의 함수처럼 처리하기 위한 쿼리의 집합. 뷰의 경우 조회전용 개체, 트리거는 수정전용 개체, 저장프로시저는 둘 다 가능하다. - 저장 프로시저의 장점 1) 모듈별 프로그래밍이 가능하다. 2) 수정 및 배포가 쉽다. 3) 실행 계획을 재사용하여 더 빠르다. 저장 프로시저는 호출되면 메모리에 캐싱되어 있다. 4) 네트워크 소통량을 줄일 수 있다. 5) 보안 매커니즘으로 사용가능. - 저장 프로시저 종류 1) 시스템 저장 프로시저 : 시스템이 제공. sp_ 접두어를 사용한다. 만약 같은 이름을 가진 저장 프로시저가 로컬에 있다면, 로컬에 있는 것을 우선한다. 2) 확장저장 프로시저 : SQL서버 외부로 ODS를 통해 작.. 2014. 12. 9. [SQL Server] Chapter 13. 뷰 * 본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 뷰 : 쿼리로 정의된 가상 테이블. 데이터를 저장하고 있는 공간은 없음. - 뷰 사용의 장점 1) 사용자의 관심부분 데이터에 초점을 맞출 수 있다. 2) 자주 사용하거나 복잡한 쿼리에 대해 복잡성을 감추고 재사용 할 수 있다. 3) 특정 사용자에게 일부 자료를 보여주고 싶을 때, 허가 관리를 간소화 할 수 있다. 4) 다른 어플리케이션으로 데이터를 보낼 때, 편리하다. 1. 뷰의 생성 CREATE [ ] VIEW [ (컬럼목록)] [ WITH ] AS [WITH CHECK OPTION] *뷰속성 : { ENCRYPTION | SCHEMABINDING | VIEW_METADATA} (1) 뷰의 컬럼명 명시 - 컬럼명을 정의하지 않을 경우 원시 컬럼명.. 2014. 12. 9. [SQL Server] Chapter 11. SQL프로그래밍 * 본 포스팅은 개인의 학습 내용을 정리한 것입니다. 1. 읽기 쉬운 코드 작성 (1) 주석 처리 : SQL서버에서는 다음과 같이 주석 문자열을 지원한다. 주석을 이용하여 설명을 기술할 수 있다. 1) '--' (이중 하이픈) : 행 단위에 사용하는 주석처리 문자 2) /* ... */ (슬래시-별표 문자 쌍) : 여는 주석문자(/*)와 닫는 주석문자(*/)사이가 모두 주석처리 됨. 단, 이 안에는 GO 문자열을 추가할 수 없다. (2) 주요 절을 줄로 분리하고 탭으로 간격을 맞춘다 (3) 키워드는 대문자로, 또한 개체명의 규칙을 정의하여 사용. 아래는 자주 쓰이는 약어이다. 명 약어 명 약어 Date Dt Process P Create Crt Time tm Name Nm Change chg Employ.. 2014. 12. 8. [SQL Server] chapter 10. 트랜잭션과 잠금 *본 포스팅은 개인의 학습 내역을 정리한 것입니다. 1. 트랜잭션(Transaction) - 트랜잭션은 ACID라는 4 종류의 속성을 가지고 있다. (1) Atomic : 트랜잭션은 더이상 분리할 수 없는 작업이다. (2) Consistency :완련된 트랜잭션의 모든 데이터는 일관적이어야 한다. (3) Isolation : 동시 트랜젝션에 의한 수정은 다른 트랜젝션에 의한 수정과 격리되어야 한다. (4) Durability : 트랜젝선이 완료되면 그 영향이 DB에 영구적으로 반영된다. - 트랜젝션 제어 (1) 명시적 트랜잭션 : BEGIN TRANSACTION을 이용. (2) 자동 커밋 트랜잭션 : SQL Server의 경우 각 T-SQL문은 완료시 커밋됨 (3) 암시적 트랜잭션 : API함수나 T-S.. 2014. 12. 8. 이전 1 2 다음 728x90